Introduce CypherOptionParser
Switch top-level CypherCompiler to using CypherOptionParser

o Rename Prepared to ParsedQuery and clean up interface
o Fix CypherOptionParser's parsing of versions
Extract common code into Base
Merge pull request #2757 from systay/pre-parser

Introduce a pre-parser in preparation for PROFILE/EXPLAIN