OGM-420 Making read preference configurable via a configuration property
OGM-420 Making the read preference configurable programmatically
OGM-420 Making the read preference configurable via annotations
OGM-420 Applying configured read preference for datastore operations
OGM-420 Making AssociationStorageStrategy an enum to avoid repeated instantiations
OGM-420 Updating reference guide
OGM-342 Some doc improvements
OGM-420 Addressing review remarks
OGM-473 Misc. (unrelated) improvements:

* Aligning variable/method names
* Removing unused parameter
* Raising exception when trying to build a stateless session
OGM-473 Making TupleContext immutable; Creating a fresh instance in the context of a batched flush if required
OGM-469 Creating row keys in MongoDBAssociationSnapshot more efficiently
OGM-469 Making AssociationKeyMetadata immutable
OGM-469 Moving associationKind from AssociationKey to AssociationKeyMetadata
OGM-469 - WIP - Changing GridDialect#isStoredInEntityStructure()
WIP