Added check for in use in label scan, as well as an integration test to guard against regression
Preparing Cypher for new plan cache

o Added LegacyOperations to StatementContext for operating on legacy indexes.
o Refactored TraversalMatcherBuilder from a LegacyPlanBuilder to a PlanBuilder
o TransactionBoundPlanContext gets its StatementContext from the outside
o Implemented the ability for a QueryContext to upgrade to a LockingQueryContext.
o TransactionBoundQueryContext now takes it's StatementContext and Transaction from the outside
o Removed getTransaction from QueryContext
Adds SchemaState support to kernel

o Adds TransactionAwareSchemaStateHolder and plugs it into the cake
o Extracts UpdateableSchemaStateHolder, polishes tests, fixes transactional flush handling
o Adds schema state handling tests to SchemaStateOperationsTest
o Defers SchemaState flushing until an index comes ONLINE and makes the population job do that
o Adds LRU eviction to SchemaState
o Removes Class-usage and changes concurrency in SchemaState handling and some renaming
o Removed legacy index stuff from kernel API.
o SchemaState interface refactoring
o ROContext support
Refactors Cypher's cache handling

o Split caches between parsed queries and execution plans
o Resizes schema state on configuration change and fixes test
o Removes isPrepared and LRUMap schema state
o Pushing PlanContext usage to the right partial functions
Added ReferenceCountingTransactionContext

o readOnlyStatementContexts are now also reference counted
o StatementContext returns Iterators instead of Iterables
o Fixed problem in the LRUCache
Minor Cypher and Kernel fixes to bring in plan flushing

o Fixed LabelsFunction
o readOnlyStatementContext now can work with SchemaState
o Cypher doesn't try to use populating indexes
Ensure directory exists before creating index.

This is smallest-possible fix to address the bug head on.
A more thorough fix, including an overhaul of EphemeralFileSystem is on its way via the master branch.
Fix: StoreStatementContext.getNodesWithLabel() now skips deleted NodeRecords
Fixes enterprise compilation
Ignoring HA tests for now
Ignored failing HA tests
Merge pull request #655 from boggle/happitimes

Short lived statement contexts for core API & schema-aware Cypher execution plan cache
Make Lucene InMemoryDirectoryFactory survive through database restarts.

o InMemoryDirectoryFactory is a facade for Lucene's RAMDirectory.
o InMemoryDirectoryFactory is used if the database is running atop EphemeralFileSystemAbstraction.
o Ensure that there is only one instance of DirectoryFactory per FileSystemAbstraction.
o Introduce FileSystemAbstraction.ThirdPartyFileSystem to encapsulate DirectoryFactory
  (this abstraction is necessary because FileSystemAbstraction cannot depend on any Lucene classes)
o In tests, the previous behaviour was causing undesirable recovery on indexes after database restart
  (because the underlying files had been stored in a fake file system tied to a previous database instance)
Fixed broken cypher documentation
Revert "Merge branch 'master' into 2.0"

Reverting this for now, until HA tests are stable again

This reverts commit 869ec9b18bc91b4961e95e20b02ad94c18c60abf, reversing
changes made to fbf1d57c65cbd620f0568f8a8f9c773f3a605427.

Conflicts:
	community/cypher/src/docs/dev/index.asciidoc
	community/cypher/src/docs/dev/ql/functions/index.asciidoc
	community/cypher/src/test/scala/org/neo4j/cypher/internal/executionplan/builders/TraversalMatcherBuilderTest.scala
Revert "Ignored failing HA tests"

This reverts commit 4935d944a8e3a1eed8d7c964ac5e94472838add7.
Revert "Ignoring HA tests for now"

This reverts commit 169adaf0360a730251e84d0950a6403dcab9d62b.
Merge pull request #663 from systay/undo-master-merge

Undo master merge
Cypher handles more patterns without START clause

    o Started rewriting documentation to not use START
    o Handles more types of patterns without START
Merge pull request #664 from systay/die-start-die

Cypher handles more patterns without START clause