OGM-389 Establishing public OgmSessionFactory interface, providing configureDatastore() on that
OGM-389 Making it configurable whether the same session factory instance is used for all test methods of a test or not
OGM-389 Enhancing GridDialect contract to pass effectively applying options to association methods

* Adding AssociationContext#getOptionsContext() returning an AssociationOptionsContext providing access to the effectively applying options for the given association
* Passing AssociationContext to all association-related methods on GridDialect
OGM-389 Adding API for setting CouchDB-specific options

* Adding datastore identifier
* Adding context types
* Adding option for configuring the type of association storage
OGM-389 Making association storage configurable via annotations for CouchDB
OGM-389 Introducing property for configuring the association storage strategy on the Configuration level when bootstrapping a session factory; Enabling GridDialect types to implement Configurable for that purpose