Support EXISTS and NOT EXISTS expressions

This pull request includes code to support the `EXISTS` and `NOT EXISTS` expressions for testing whether a (usually correlated) sub-query contains any rows.  The syntax that it uses is to add `exists` and `notExists` methods to the `Query` object.

I'm open to any suggestions for differing implementations or style changes.  Let me know and I can rework it as needed.  Thanks!