Added yaml test for exists bug
Just a couple comments
Made DPhypEnumerateTest parameterized
Added rules test for exists bug
Added two dphyp enum tests
Added a couple more semi tests

Primarily to make sure I don't break things as I go forward
More tests
First pass at protecting semi-join ordering

This is kind of hackish, I need to reason about it to make sure it
actually makes sense and doesn't break anything...
Merge branch 'master' into exists-bug
Added ANTI join type
Removed previous hack fix to do correct fix

I think the correct fix is to move conditions up inner join trees
to the top-non-inner join. From there they can be freed if
appropriate
Added a couple tests that might regress
Adde JoinType.is(Left|Right|Fully)Linear
Move join conditions as high as they'll go

well, I guess, just shy of the where clause...
Added expected output for exists-inner rule test
more selective condition movement

We don't want to move all the join conditions up, just the ones
that interact with outside tables.

This seems to work for the test scenario at hand, but still feels
like there's something missing. Also, moving to the where
conditions should probably happen.
more enum-dphyp tests
Correctly handle null w/ not in
Updated README for enum-dphyp tests
Don't reuse aliases between two sides of semi join

this makes it much easier to follow what's going on when dphyp hits