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.
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.
Better handling of lucene corruption.

 o Label scan store now halts database start if lucene is corrupt, with an exception explaining how to resolve the issue.
 o Lucene provider for new indexing now marks corrupt indexes as failed, such that the user manually must drop the index and re-create it.