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.