Add haversin function to Cypher
Merge pull request #1249 from benbc/2.0-haversin-for-cypher

Add haversin function to Cypher
Refactor Cypher query grammar to sequence of clauses
Split test covering multiple Cypher versions
Merge pull request #1241 from cleishm/grammar_rework

Refactor Cypher query grammar to sequence of clauses
Fixes problems where certain patterns and predicates caused the execution planning to loop forever