Added support for :conditions in a query method on labels and some minor refactoring.

* TODO use https://github.com/intridea/hashie gem instead of  'neo4j-core/hash_with_indifferent_access'
* TODO, Investigate if reuse between the cypher and java layer using mixin in the neo4j core module is the best solution. See the Neo4j::Core::CypherTranslator (in cypher_helper file should be renamed)