Index and property equality

Changes equality semantics for properties

This PR adds functional tests that nail down what equality means in Neo4j, so that GraphDatabaseService#findNodeByLabelAndProperty always returns the same thing, no matter if an index exists or not.