added CypherQuery to replace toCypherQuery(), will be used to generated cypher queries in future
restructured library and helpers, modularised CypherQuery, ConditionalParameters and md5