Split Unary into PrefixUnary and PostfixUnary

Separate unary nodes into separate prefix- and postfix- unary nodes in
preparation for adding prefix unary operators to the supported grammar.

Signed-off-by: Kevin Locke <klocke@quantpost.com>
Add support for EXISTS and NOT EXISTS expressions

Support checking the existence of subqueries using the SQL EXISTS and
NOT EXISTS expressions by adding `exists` and `notExists` methods to the
`Query` prototype.

This syntax is backwards compared to the SQL construction (which is
EXISTS [...] rather than [...] EXISTS) but seems more reasonable than a
putting `exists` in a shared scope.

Note that `notExists` could be implemented just as well with a unary
logical negation around the unary EXISTS, but since this is not done
elsewhere, it seemed preferable to stick with the existing style of
combining the negations with their positive counterparts.

Signed-off-by: Kevin Locke <klocke@quantpost.com>
Merge pull request #108 from kevinoid/for-upstream/prefix-operators

Support EXISTS and NOT EXISTS expressions