OGM-389 Adding some toString() methods, some clean-up
OGM-389 Removing unused method from AssociationContext

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 Renaming OptionsContext into WritableOptionsServiceContext
OGM-389 Extending 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 Making the association storage strategy configurable via property

* Introducing configuration property to be used when bootstrapping a session factory
* Providing CouchDBDatastoreProvider#getDefaultAssociationStrategy() exposing the property-configured strategy
OGM-389 Making handling of empty tuple/association snapshots consistent, avoiding references to "impl" package from other modules
OGM-389 Moving constants from Environment to CouchDB
OGM-389 Incorporating misc. feedback from review
OGM-389 Creating o.h.o.dialect.couchdb.impl package
OGM-389 JavaDoc improvement on CouchDBTupleSnapshot