More work preparing the experimental parser

o Now accepts patterns with properties without parentheses
o Now accepts CREATE/DROP CONSTRAINT
o Solves problem with named variable length paths that use relationship collections
Ensure predicates are applied during matching

Currently null checks are done separately, which is inconsistent.
Normalizing this behaviour for 2.0
Update documentation
Add @SafeVarargs in CypherDocIT to get rid of some warnings