Move neo4j server to Jetty 9
BatchInserter support for LabelScanStore

on a clean shutdown the batch inserter populates the selected label scan
store. It's doing so in the same store scan as the one populating all
schema indexes. For that NeoStoreIndexStoreView changed to support one
property update visitor and one label update visitor and invites them both
for a single store scan.

Introduced a NeoStoreProvider which take on the same role in the batch
inserter case as XaDataSourceManager does in the GDS case. A label scan
store may need to access the NeoStore as a dependency and the actual
NeoStore instance isn't guaranteed to exist at startup or when the label
scan store (via an extension) is initialized.
Merge pull request #1148 from jakewins/2.0-jetty-9

Move neo4j server to Jetty 9
Merge pull request #1164 from tinwelint/2.0-batch-insert-label-scan

BatchInserter support for LabelScanStore
Removed breaking change from changelogs, since the change never happened.
Merged two Clock interfaces into org.neo4j.helpers.Clock and removed unnecessary implementations
recreated traverser framework api classes  org.neo4j.graphdb and org.neo4j.graphdb.traversal and deprecated the ones in org.neo4j.kernel and subpackages
created new PathExpanderBuilder for buiding specialized PathExpander instances
created new PathExpanders catalogue of convenient PathExpander factory methods, and deprecated corresponding convenience methods in Traversal
opened up StandardExpander for use public use instead of just package private use
added (Bidirectional)TraversalDescription factory methods in GraphDatabaseService
Hid Javadocs for org.neo4j.kernel and subpackages
Introduce nodeGetUniqueFromIndexLookup

o Introduce StatementConstants.NO_SUCH_{NODE, LABEL, PROPERTY_KEY}
o Introduce uniqueIndexGetForLabelAndProperty
o Take an index lock for nodeGetUniqueFromIndex
o Exposes nodeGetUniqueFromIndex from Cypher as exactUniqueIndexSearch
o Rename SafeProperty to DefinedProperty
Use more realistic label names in documentation.

By convention label names are first-letter-capitalised.
Merge pull request #1167 from boggle/2.0-merge-locking

Introduce nodeGetUniqueFromIndexLookup
Merge pull request #1156 from lassewesth/fixinternalapi

Fixinternalapi
No need to check for data changes now that transactions disallow them.

Transactions now prevent a user from making data changes and schema changes in
the same transaction, so there's no need to look for data changes when creating a
unique constraint.
REST and Core APIs now support listing all stored property keys in the db.
Allow cypher to read data and modify schema in the same transaction.

This is achieved by delaying the choice of statement type (data write vs schema write)
until specific operations are required.
Remove concept of QueryType from Cypher.
All kernel operations are accessed through a single Statement API which in turn
exposes narrower interface for read, data write or schema write operations.
Statement objects need to be closed, but indivdual operations objects don't have any
additonal state and so don't need to be closed.
Extract narrower interface for Statement.

Hides internal state from clients of the kernel.
Return Statement instead of its implementation.

For better encapsulation.
Avoid indexing nodes twice.

Prior to this change it was possible to get two index entries in the case
when you both added the label and set the property in the same transaction,
but created the node in a previous transaction.
This would violate constraints (silently - making the db inconsistent), and
would cause the same node to be returned multiple times from an index lookup.

This is resolved by gathering a Set of updates to apply to the index, rather than a List.
Merge branch 'list-keys' of github.com:jakewins/neo4j

Conflicts:
	community/kernel/src/main/java/org/neo4j/kernel/api/ReadStatement.java
Make test more stable by avoiding triggering bug in index population.
Makes all matchers follow relationship uniqueness