OGM-392 Adding support for generated properties

Making CouchDB's "_rev" property mappable as generated property.
OGM-392 Reading back generated properties of entity documents which store association information

* That's required to update the revision property of CouchDB entities whose documents contain associations
* Enhancing GridDialect to allow for finding out whether there are associations stored within an entity structure
* If that's the case, refresh that entity in PropertyMetadataProvider after flush
OGM-392 Logging warning about unmapped "_rev" attribute only once at factory start-up
OGM-392 Renaming PropertyMetadataProvider into AssociationPersister, doing some clean-up
OGM-392 Incorporating review feedback
OGM-292 Backend modules: Moving everything to org.hibernate.ogm.datastore.{infinispan|mongodb|...}.*
OGM-292 Renaming org.hibernate.ogm.datastore.{couchdb|mongodb}.options.mapping to ....options.context
OGM-402 Upgrade maven-enforcer-plugin to version 1.3.1
OGM-402 Skip tests but compile sources if there is no CouchDB server
OGM-402 Remove test resource filtering from CouchDB pom
OGM-444 Making NEO4J_GRAPHDB_FACTORYCLASS a private property
OGM-444 Fixing some stale JavaDoc links and a property name
OGM-425 Updating reference guide for OGM 4.1.0.Beta1

* Describing annotation-based and programmatic options
* Adding chapter for CouchDB
* Reflecting changes to property names
OGM-425 Incorporating review remarks
OGM-292 Simplifying options package in core and aligning with naming used in datastore modules
OGM-292 Aligning package structure of "map" dialect
OGM-292 Moving StartStoppable to datastore.spi
OGM-292 Moving option and navigation types for document stores to ogm.datastore.document.options.*
OGM-292 Renaming "options.context" into "options.navigation"
OGM-292 Incorporating JavaDoc changes from Emmanuel, getting rid of GlobalOptions et al.