Validate uniqueness constraints on property update through online-accessor for in-memory and Lucene indexes.

Added several tests for updating properties in single and multiple transactions.
Introduced specialised constraint violation exceptions, depending on whether conflicts were previously committed.
Restructured in-memory index index implementation into a number of classes in their own package.
Extracted handling of property uniqueness checking into its own class, reusable from different index implementations.
Add UniqueIndexAccessor compatibility suite