allow `if .foo then .bar` for truthiness checking

This commit smartens up the parser quite a bit, allowing a more
generalized `if EXPR then FILTER else FILTER` syntax. EXPR is allowed to
be either FILTER or `FILTER OP FILTER`. FILTER is allowed to be either a
document path or a bareword string.

YAML doesn't seem to like the `boolean` module, which isn't nice...

Fixes #6