OGM-392 - Support for CouchDB's optimistic locking

(Based on top of https://github.com/hibernate/hibernate-ogm/pull/283. This new PR addresses the review remarks from https://github.com/hibernate/hibernate-ogm/pull/263.)

* Added support for `@Generated` properties by refreshing entities with such fields after updates
* Using this to map the `_rev` attribute from CouchDB
* Enhanced `OgmCollectionPersister` and friends to refresh entities which contain "embedded" association information" after assocation updates; adding new method `GridDialect#isStoredInEntityStructure()` for that purpose
* Added a session factory observer which checks the mapped entities upon start-up and issues a warning in case an entity doesn't define a _rev_ property on CouchDB