DATAJPA-486 - Added support for sliced query execution.

Added support for Slice as return type for query methods. The execution will expand the requested page size by one to read one more element than actually requested. If that additional element is returned, it will considered to be an indicator for whether a next slice is available.

Related issues: DATACMNS-397.
DATAJPA-487 - Adapted to API changes in auditing configuration.
DATAJPA-489 - Adapted API changes in RepositoryProxyPostProcessor.
DATAJPA-472 - Verify that pagination works with entities with @IdClass.

This works as expected with 3.6.10, 4.2.10, 4.3.4 but fails with  4.1.12.

Added test case to verify and track the issue with Hibernate 4.1.x. Renamed test-class from DataJpa269RepositoryWithCompositeKeyTests to RepositoryWithCompositeKeyTests.

Original pull request: #61.
DATAJPA-464 - Add support for returning subtypes of Repository Entity in JpaRepository.saveAndFlush.

Adopted generic method declaration from save method to saveAndFlush.

Original pull request: #58.
DATACMNS-452 - Use DirectFieldAccessFallbackBeanWrapper from Spring Data Commons.
DATAJPA-492 - Altered implementation of findAll(Iterable<ID>) to work around bug in OpenJPA.

Changed the implementation of SimpleJpaRepository.findAll(Iterable<ID>) as OpenJPA still doesn't correctly bind in-clauses by name. This has been originally reported in [0] and marked fixed for 2.3.0 but even an upgrade to this version (coming in a subsequent commit) requires the workaround.

[0] https://issues.apache.org/jira/browse/OPENJPA-2018
DATAJPA-493 - Upgraded to OpenJPA 2.3.0.

Upgraded to OpenJPA 2.3.0 and enabled test cases previously ignored because of bugs in previous versions.
DATAJPA-485 - Upgraded hibernate-jpamodelgen to 1.3.0.Final.
DATAJPA-494 - Fix template.mf to make sure auditing can be used on OSGi.

template.mf now contains an explicit Import-Package directive to make sure the relevant packages for the auditing functionality can be resolved in an OSGi environment. This hadn't been the case before as we don't explicitly refer to some classes necessary (mostly to prevent class loading errors in IDEs). The explicit declarations make sure the relevant Import-Package declarations are added even if Bundlor doesn't find any types that would explicitly require the imports.

JpaAuditingRegistrar now also explicitly hints to the class not being visible in case of auditing setup errors.

Original pull request: #62.
DATAJPA-491 - Support order by arbitrarily nested association paths with Querydsl.

Replaced custom left join generation logic with default Querydsl mechanisms including support for ordering by arbitrarily nested property paths. Added test cases that demonstrate ordering by nested association paths (>= 2 levels). Added additional test cases for sort by nested property path expressions based on querydsl meta model and plain string based path expressions.

Original pull request: #65.
DATAJPA-173 - Extended support for metadata detection on CRUD methods.

Extended the mechanism previously existing to detect @Lock annotations on redeclared CRUD methods into one being able to transport arbitrary metadata into the execution of CRUD methods.

Renamed LockModeRepositoryPostProcessor to CrudMethodMetadataPostProcessor, refactored the internals and added some metadata caching to avoid repeated reflection lookups to evaluate annotations.
DATAJPA-496 - Fixed join creation for element collection attributes.

QueryUtils.toExpressionRecursively(…) now also creates joins for attributes mapped to an @ElementCollection.

Original pull request: #68.