Use minSubset, not min

min is for the index
treat conditions that only touch one side special

You can't create an inner join with just one sided conditions.
This might cause problems with real cross product joins, but we
weren't handling those before anyways...
Cleanup join conditions on install correctly

Only do the cleanup at insteall, and correctly carry conditions
from lower joins up to outer joins
Bring back cleanJoinConditions

Looks like this might be necessary for choosing to use a bloom
filter, but it will probably not choose bloom filters if there's
a lot of joins inside the semi, with a lot of conditions.