Store resolved ids for label, property names, and rel types in semantic table rather than ast
Make Cypher reject using the same relationship identifier for multiple pattern
Merge pull request #2322 from davidegrohmann/ids-semantic-table

Store resolved ids for label, property names, and rel types in semantic table rather than ast
Merge pull request #2300 from boggle/no-double-patterns

Make Cypher reject using the same relationship identifier for multiple p...
Normalize predicates before plan building

To plan predicate selection well, predicates
are now rewritten to conjunctive normal form
before planning starts.

Another difference is that And and Or expressions
are replaced with Ands and Ors so these can be
worked with as collections instead of trees.