Initial PEG parser for Cypher
Update parboiled to 1.1.5

Fixes memoMismatches issues
Add syntax check error handling
Adjust package layout
Use monadic style for semantic checks
State in SemanticState rather than SymbolTable
Rename SymbolTable to SemanticState
Semantic check after WITH
Change some Seq to Vector
Record pass number in SemanticState
Run multiple semanticCheck passes
Replace -> with >>= in semantic check
Use abstract classes for pattern base classes
Capture all possible identifier types

And do reducution inferrence
Use contravarient inferrence for indentifiers
Merge branch 'collection_apply' into peg