Allow multiple updates with FOREACH
Fix SchemaIndexHaIT to not use IndexDefinitions accross databases

IndexDefinition are tied to the database that created them and
expect to be in a transaction in that database in all their
method calls.  The only exception to this rule are equals() and
hashcode(). This allows to search all IndexDefinitions of another
database for an equal IndexDefinition easily.
Merge branch 'no-predicate-nulls' into new-master
Merge pull request #1009 from cleishm/experimental-foreach

Allow multiple updates with FOREACH
Escaped identifiers in the RETURN clause are kept as the user entered them

Given a RETURN clause that looks like:
    RETURN `escaped id`

The old behaviour was to name the column "escaped id". The new behaviour is
to use "`escaped id`".
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