Make index creation idempotent

IndexingService.createIndex now just does nothing if it is asked to create an index
that already exists. Instead of throwing an AssertionError. This makes it idempotent.
Invalid package + unused imports
Merge pull request #1306 from cleishm/cypher-compiler

Move Cypher versioned parsers into compiler package
Merge pull request #1325 from chrisvest/schema-index-copying-in-ha

Make index creation idempotent
Add @Ignored ManyMergeStressTest for exposing lucene issue
Fixes a recovery issue with deleted nodes

There was an issue where this scenario might happen:

 - TX1: Node N exists and has property record P
 - rotate log
 - TX2: P gets changed
 - TX3: N gets deleted (also P, but that's irrelevant for this scenario)
 - N is persisted to disk for some reason
 - crash
 - recover
 - TX2: P has changed and updates to indexes are gathered. As
   part of that it tries to read the labels of N (which does not
   exist a.t.m.)

We can actually just assume that if this happens and we're in
recovery mode that the node in question will be deleted in an
upcoming transaction, so just skip this update.
Remove MarkOptionalNodes, which is no longer needed
Removed tx.finish() warnings from Cypher
Make sure label scan store readers are closed when their owning statement is closed
Add test to verify KernelStatement closes label scan readers
Add forgotten license header. Meh.
Makes index creation idempotent in Cypher
Make Cypher asking for node by id in WHERE not throw exceptions
Clarified build requisites
Work on docs around match, merge, optional match, start, using.
Merge pull request #1326 from tinwelint/2.0-fix-node-deleted-recovery-issue

Fixes a recovery issue with deleted nodes
Properties support for BigLabelStoreGenerator
Fix typo
Merge pull request #1327 from systay/minor-cleanup

Minor cleanup of Cypher
Update javadoc to not reference Query