Don't promote outer joins on columns used in IfElse expressions

Just keep the outer join.

It's actually possible to catch some cases (see if-complete test), but that requires some more complicated control flow, and so attempted here.