Validate uniqueness constraints for new data.

This is the very first attempt that doesn't take any locks and only
considers one of many potential violation scenarios.
Wrote test case to assert that #929 has been resolved.
Added note in docs that constraints are broken
Merge pull request #1090 from jakewins/fix929

Wrote test case to assert that #929 has been resolved.
Validate uniqueness constraints for new data.

Validate on adding label to node.
Merge pull request #1091 from jakewins/docs-broken-constraints

Added note in docs that constraints are broken
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.
Adds constraints warning to REST docs as well.
Re-introduces filtering during recovery, which was disabled when the code path for recovery updates and
normal updates was split into two separate ones. Added a unit test to avoid regression.

This fixes #1092
Unused commits.
Updated id space text of property keys and label names
Validate uniqueness constraints for new data.

Support concurrent updates of data affected by the constraints.
Acquire locks to ensure mutual exclusion.
fixed license header