Implement JEP 1

This required updating the grammar, but no code changes were needed.
I've updated the compliance tests with the examples from the JEP.

Note that there was one example that was changed from the original
spec.  The OR expression example was changed because a wildcard
on a list type will never evaluate to ``null``, and therefore will
always be selected if it's the first expression in an OR expression.

cc @mtdowling