The existing detection is unable to cover all the cartesian product cases. For example,
- Case 1) having non-equal predicates in join conditiions of an inner join.
- Case 2) equi-join's key columns are not sortable and both sides are not small enough for broadcasting.
This PR is to move the cross-join detection back to `BroadcastNestedLoopJoinExec` and `CartesianProductExec`.