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