Refactoring of CleanUpTask
Fix typo
Allow using undirected relationship patterns in MERGE
Merge pull request #1954 from davidegrohmann/2.0-undirected-merge

Allow undirected relationship pattern in MERGE
Merge pull request #1962 from systay/cleanuptask-cleanup

Refactoring of CleanUpTask
Add ParserFixture for using Cypher Parser in tests
Various performance updates to AST rewriting

o Memoize copy constructors for Products
o Use an Iterator for folding over Product children
o Use Object equality (this requires that Rewriters work with AnyRef
  items rather than Any)
o Use tail recursive folds
Use Cypher query cache to find plans based on AST

Cypher compiler is now recreated on schema change, to ensure cache
flushing.
Only do semantic checking on query cache miss
rewrite: extract parameters from literals