OGM-389 Adding some toString() methods, some clean-up
OGM-389 Removing unused method from AssociationContext as it is already ensured that only the actually required fields from an assocation tuple are loaded
OGM-389 Avoiding re-reading associations prior to updating them
OGM-389 Providing JSON-based implementation of CouchDBDocument#toString() for debugging purposes
OGM-389 Re-organizing backend-related packages
OGM-389 Preparing association count view for embedded associations
OGM-389 Establishing common abstraction of embedded and document-based associations
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