Changes how label scans are compiled for non-existing labels
AbstractPattern now implements AstNode
Removed QueryToken around aggregateQueries
AbstractPattern refactoring

o Removed AbstractPattern in the 1.9 parser
o Moved AbstractPattern from the 2.0 parser up one level so all parsers can use it
o Changed the 1.9 parser to emit the new AbstractPattern
Merge pull request #741 from systay/cypher-refactorings

Cypher refactorings
Adds the ability to store UniquenessConstraints in the Schema.

The constraints are not used for anything or applied in any way, all we do is store them in the schema store.
We have the ability to store, retrieve, and drop UniquenessConstraints, both from transactional state, and stored state.
Refactors TxState to hold temporary state instead of writing to PersistenceManager.

Makes updating the schema with constraints invalidate the schema state.
  This is the primary driver for the refactoring, there are now appropriate hooks for this.

Allows SchemaState to contain state without having to write to WriteTransaction until pre-commit.
  By making the lowest level TransactionContext invoke TxManager.commit() in its commit() method,
  all TransactionContexts can do things both pre and post commit (by doing things before or after
  invoking the delegate. This allows us to defer generating ids and records for things that change
  in a transaction until we know we are about to commit the transaction.

Restructures then Operations interfaces in the kernel API to a clearer, more useful separation.
  Separating read from write operations, and separating operations on the schema from operations
  that change entities, and from operations about key-generation (property keys, labels, and
  relationship types). Changes to schema state is also split out into its own Operations
  interface, but without a Read/Write split, since these operations are not reads/writes against
  the stored data, and as such not transactional operations in the same way.
  These Operations interfaces come together in a few utility interfaces, grouping the operations
  along the two axis that they are divided by before coming together into StatementContext.
Merge pull request #731 from thobe/store-constraints

UniquenessConstraints stored (durably) in the schema.
New API for listing all labels.

o Core API support for listing labels
o REST API support for listing labels
Added HA-slave specific handling of label creation, such that labels are created in an ordered way on the master.
Merge pull request #744 from jakewins/2.0-list-labels

2.0 list labels
Documentation touch up
No System.out printing. The UDC tests are now silent
Imports
adding XOR predicate
Added CREATE/DROP CONSTRAINT syntax in Cypher

o Create contraint syntax, for example:
  CREATE CONSTRAINT ON (foo:Foo) ASSERT foo.name IS UNIQUE
o Drop constraint syntax, for example:
  DROP CONSTRAINT ON (foo:Foo) ASSERT foo.name IS UNIQUE
o Doesn't actually do anything, just able to parse it.
Merge pull request #747 from tinwelint/2.0-cypher-constraint-syntax

Added CREATE/DROP CONSTRAINT syntax in Cypher
Builds and executes queries that add unique constraints

o Added the generic KeyToken for properties and labels. This replaces LabelValue
o Added pipe for creating constraints
Semantic type checks for start and match
Merge remote-tracking branch 'origin/2.0' into peg