Query changes to support orm_adapter pull request

These changes to the neo4j-core query method are to support the changes in this pull request:

https://github.com/andreasronge/neo4j/pull/352

The main change is supporting the :matches key for queries which can be either a string or an array of strings.  I also refactored .cypher_where a bit as I was trying to understand it and because I thought it would be needed for my changes, but I'm not sure they're completely necessary if you don't like them.

Feedback welcome!