Validate uniqueness constraints for new data.

Test cases for when conflicts have been resolved by changing existing data.
Test case for conflicting data in a single transaction.
Validate uniqueness constraints for new data.

Cypher test cases.
Translate KernelException exceptions in Cypher.
Validate uniqueness constraints for new data.

Tests for asserting that creating non-conflicting data is valid.
Cypher exception handling cleanup.

o Remove context aware catch-and-rethrow blocks from TransactionBoundQueryContext;
  just use ExceptionTranslatingQueryContext instead.
o Remove transactional HTTP endpoint error codes that were specific to schema operations
  because the set of situations covered was incomplete, and therefore misleading.
o Add new SchemaKernelException subtypes to cover the scenario of dropping a non-existent
  constraint; this scenario was previously only covered by cypher-specific code and exceptions
Re-worded exception message.