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
NodePropertyUpdates by looking at the node groups updates to include all
added/removed labels instead of one update per added/removed label.
Merge pull request #1177 from boggle/2.0-merge-locking

Make merge use uniqueness constraints and take index entry locks