Changing predicates to put operator up-front.  This keeps the grammar
very regular without any risk of collision (e.g. with a query parameter
named 'contains'), and allows deepEquals, needed for proxying.
documentation updates