heuristic try to break cycles with != edges when building logical RA

The idea is try to avoid putting `!=` in the join conditions.
It is a heuristic sans-statistics assuming that this type of plan will usually be less efficient than another join path.

note that current approach is not efficient because it checks
all cycle edges for a != before giving up. Then again iterative
cycle finding is not as efficient as MST