DATACMNS-596 - Introduced PersistentPropertyAccessor.

To be able to customize the lookup of bean properties by persistent store we now expose a getPropertyAccessor(Object entity) method on PersistentEntity. It returns a PersistentPropertyAccessor which is basically an interface with a simplified API of BeanWrapper.

Reduced the plain BeanWrapper to not perform any type conversion to be able to drop the ConversionService dependency. To compensate for that we introduced a ConvertingPropertyAccessor that takes a ConversionService and delegates to a standard PersistentPropertyAccessor and applies conversions if necessary.

Refactored client APIs to use the PersistentPropertyAccessor instead of referring to BeanWrapper directly. Deprecated BeanWrapper.create(…) for removal in RC1.
DATACMNS-596 - Polishing.

PersistentEntityInformation now falls back to null values for PersistentEntity instances that don't expose an identifier property.
DATACMNS-597 - Fixed to strict consistency check in PersistentPropertyAccessor lookup.

BasicpersistentEntity now allows subtypes to be handed into the PersistentPropertyAccessor lookup to support inheritance hierarchies as well as interface based PersistentEntity scenarios.
DATACMNS-599 - Introduced IdentifierAccessor API.

PersistentEntity now exposes an getIdentifierAccessor(…)-method that allows obtaining the identifier of an entity without using a PersistentProperty instance. This allows advanced scenarios (like multi-property identifiers). Also we can use store specific means to optimize id lookups to e.g. avoid proxy initialization for lazy loading proxies.
DATACMNS-591 - RepositoryConfigurationDelegate now uses Environment and ResourceLoader everywhere.

We now also use the Environment and ResourceLoader for the component scan to detect whether multiple Spring Data modules are on the classpath.
DATACMNS-600 - Moved RepositoryInvoker subsystem into support package.
DATACMNS-588 - Prepare branch for integration with Spring Sync.
DATACMNS-588 - First draft of Spring Sync integration.

Added Spring Sync as optional dependency. Provided Spring Data based SPI extensions for Equivalency (using Spring Data mapping metadata for the detection of an identifier property) and a highly work-in-progress one for PersistenceCallback as CrudInvoker currently doesn't expose enough API to support the collection manipulation scenarios. Item resource based manipulations should work fine though.

Added a JavaConfig class to set up all the necessary bits and pieces and expose the Spring Data backed SPI components as Spring beans.
DATACMNS-588 - Added missing template.mf entries.
DATACMNS-588 - Refactored to use new RepositoryInvoker API.

Refactored RepositoryPersistenceCallback to use new RepositoryInvoker API. Added some unit and integration tests. Also we now make use of the IdentifierAccessor API introduced for DATACMNS-599.