Initial PEG parser for Cypher
Rename Function traits
Add type checking

And move all functions to a common interface