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
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.
Enable schema changes on master of HA cluster.

Remove HA concept from kernel; replaced with SchemaChangeGuard.
Replace ReadOnlyStatementOperations with guard on upgrading
transaction for data write or schema write.
Change (default) in-memory index impl to be list based.

This would be useful for exposing issues where duplicate entries are added to an index.
Currently no test cases expose such a case.
License headers.
More license headers.

Also put UniqueConstraintHaIT to its previous state.
Acquire statement inside transaction.
Address PMD import warnings.

Removing unnecessary fully qualified names.
Specify parameter for static import check to allow up to 10 static imports per file.
Make merge use uniqueness constraints and correctly take locks

o Acceptance tests for Merge using constraints
o Introduce SchemaIndexKind to SchemaIndex start points
o Extend PlanContext to support lookup of unique indexes
o Add support for testing failing queries to DocTestBase
o Introduce ReferenceNodeAcceptanceTest
o Introduce DeleteReferenceNode helper for GraphDatabaseTestBase