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
Merge pull request #1959 from cleishm/ast-plan-cache

Use Cypher query cache to find plans based on AST