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