Ensure predicates are applied during matching
Clearing up reference counting circular dependencies

o Refactored the circular dependency mess around reference counting and closing statement context. This does
  not address any issues of leaking resources, it only makes the code more readable. This is a step towards
  re-merging the state and the operations, at least from the outside as seen by the API user.

o Fixed test that depended on the order of randomly-ordered list items.
o Removed unused ThreadLocal code from ThreadToStatementContextBridge
Make the experimental parser use the correct type for relationship collections
Merge pull request #1029 from systay/rel-iterator-type

Make the experimental parser use the correct type for relationship collections
Merge pull request #1028 from jakewins/refcount-cleanup

Clearing up reference counting circular dependencies
A ResourceIterator should always be able to free a resource early.

+ some clarification of assertions in a test of the clustering code.
Switch git-commit-id plugin to refer to .git using ${project.basedir}
Merge remote-tracking branch 'origin/1.9-maint'
Help users find out about delete vs remove.
Merge pull request #1021 from cleishm/in-match-predicates

Ensure predicates are applied during matching
Revert "Ensure predicates are applied during matching"

This reverts commit 5bb51449dedb10b3b10a6721d3f0f29a2d8e5157.
Add test that exposes missing rels when matching using explicit node sets in Cypher
Further nail down bug to returned iterables not being stable
Make QueryContext solely use Iterators

Investigating a traversal matching bug hinted at Java->Scala conversion draining Iterable instances together with the first iterator returned by them.
This change was made to avoid such problems in the future and be more explicit about when data is retrieved from the database.

o Introduce DynamicIterable as a way to construct an Iterable that re-reads from the graph
o Replace FilteringIterable with SingleStep.FilteringIterator
Reduce pruning to fix missing relationships bug
Neo4j edition and version for Server only.

Gathers the Neo4j edition by looking at the type of Neo4jServer that gets started. Gathers the release number by demetering its way deep into the kernel.
Added a test in enterprise that checks that naming for derived classes of AbstractNeoServer doesn't change, since VersionAndEdition service uses those names to compute a Neo4j version.
Renamed the ServerBuilder to CommunityServerBuilder and added AdvancedServerBuilder and EnterpriseServerBuilder.
Added integration tests for the Community, Advanced, and Enterprise version and edition service in the matching module..
Revert "Neo4j edition and version for Server only."

This reverts commit cb3fdb9ca79b57b1bf6ca67f5a8791255c84c955.
Revert "Revert "Neo4j edition and version for Server only.""

This reverts commit 9ce2c417ddba7ba302cb393f85223f5e8d864fc7.
Support LHS expressions in properties (experimental parser)
Reorder Expressions2 options