OGM-547 Apply unique constraints on Neo4j database

  A unique constraint is going to be created for properties representing
  an identifier, a natural id or a unique column.

  Only unique constraints for single columns are created because Neo4j
  does not support constraint on mulitple properties.

  The creation of constraints for entities can be skipped setting the
  property hibernate.schema_update.unique_constraint_strategy to SKIP
OGM-547 Add test for unique constraints in Neo4j
OGM-547 Add test for skipping unique constraints generation
OGM-547 Update javadoc
OGM-547 Better logging during the creation of unique constraints in Neo4j
OGM-547 Avoid the creation of unique constraints on foreign key columns

  Neo4j does not create properties for foreign key columns, so we don't
  need to create a constraint for them
OGM-547 Some minor improvements:

* Making internal method private
* Adding note on supported type for config option to documentation
OGM-547 Adding entity key to logging message for unique constraint violations to facilitate error analyses
OGM-521 Incorporating review remarks
OGM-595 Usability improvements around id generation strategies

* Setting AvailableSettings.USE_NEW_ID_GENERATOR_MAPPINGS by default in OgmConfiguration
* Making sure OGM's generators are used when working with the old generator mappings
OGM-595 Removing setting of property QUERY_STARTUP_CHECKING which is not required anymore
OGM-592 Misc. improvements

* Improving method names
* Improving toString() method
* Protecting against null parameter
OGM-592 Using manual assigned ids for some test entities for the sake of simpler debugging
OGM-592 Moving "collectionRole" from AssociationKey to AssociationKeyMetadata
OGM-592 Moving "associationKind" from AssociationKey to AssociationKeyMetadata
OGM-592 Removing obsolete logic from AssociationPersister
OGM-592 Always exposing main side role via AssociationContext
OGM-592 Addressing review remarks

* using postInstantiate() instead of lazy determination of inverse meta-data
* Also adding test for BiDirectionalAssociationHelper
* Consolidating more logic in BiDirectionalAssociationHelper
OGM-592 Fixing mistake in log message, improving toString() method