DATACMNS-414 - Removed unnecessary generic types for AuditingHandler.

Removed the unnecessary type arguments for AuditingHandler so that the setter taking an AuditorAware<T> can be successfully wired against implementations other than AuditorAware<Object> with Spring 4. The type argument was superfluous anyway as internally the type wasn't referred to and the handler is not used on a by-type basis.
DATACMNS-411 - Add support for Java 8 date/time types in auditing.

The auditing subsystem now supports the usage of JDK 8 date time types when running on Spring 4.0.1 or better. To achieve that switched to use the DefaultFormattingConversionService which registers the relevant converters needed. We also modified the SPI CurrentDateTimeProvider to return a Calendar instance as it carries time-zone information to be able to convert the instance into time-zone based JDK 8 date/time types.

This also allows us to make the use of JodaTime optional and only rely on it in case of the usage of Auditable or any of the JodaTime types used in the annotation based scenario. Added support to set LocalDateTime as well.
DATACMNS-415 - Performance improvements in configuration subsystem.

Changed the design of RepositoryBeanDefinitionBuilder to receive stable dependencies in the constructor and the moving parts as method arguments. This enables us to reuse the builder instance for the creation of all repository bean definitions. Most importantly that means we can use a single CachingMetadataReaderFactory instance which will avoid reading files again when looking for custom implementation classes.

Adapted clients for XML configuration and JavaConfig accordingly.
DATACMNS-416 - Added means to enforce eager instantiation of CDI repositories.

The CDI extension now eagerly instantiates repository beans that are annotated with the newly introduced @Eager annotation. This is necessary to prevent the initialization procedure from interfering with potentially already executed business logic.

To achieve this CdiRepositoryExtensionSupport provides a new method registerBean(…) that has to be called by store implementations. The extension will then keep track of beans that require eager initialization and trigger it when the container has finished validation.
DATACMNS-415 - Further performance improvements for repository config.

We now also set a resource pattern on the ClassPathScanningCandidateComponentProvider to limit the scanning for custom implementations even more and thus avoid reading a lot of unnecessary class files.
DATACMNS-417 - Added contribution guidelines.

Linked to the actual contribution guidelines maintained in the Spring Data Build project.
DATACMNS-412 - Fixed potential classloader leak.

Turned the static cache of RepositoryInformations in RepositoryFactorySupport into a non-static one to avoid the instance from potentially surviving redeployments in web app scenarios.
DATACMNS-418 - PagedResourcesAssembler now adds self links to PagedResources.

PagedResourcesAssembler now adds a LinkTemplate to every PagedResources instance created and pulls the template variable information from the registered resolvers for Pageable and Sort.

Extended PageableResourceAssemblerArgumentResolver to create a special MethodParameterAwarePagedResourcesAssembler so that the assembler will take qualifier information into account when being injected into controller methods.

Upgraded to Spring HATEOAS 0.9.0.BUILD-SNAPSHOT to be able to benefit from new methods added to MethodParameters as well as the LinkTemplate class. Updated Sonargraph architecture definition to allow the web layer to access logging.
DATACMNS-419 - PagedResourceAssemblerArgumentResolver now works with templated URIs.

We now handle an IllegalArgumentException being thrown in case we deal with a templated request mapping. We simply skip the attempt to eagerly resolve the base URI for the request and rely on the assembler being capable of resolving it itself or the user effectively providing a Link instances to one of the toResource(…) overloads.
DATACMNS-418 - Improvements to template variables in HandlerMethodArgumentResolvers.

The Hateoas(Pageable|Sort)HandlerMethodArgumentResolver now receive a UriComponents instance to inspect for existing query parameters. They then refrain from adding template variables for already present parameters. Slightly modified the way the sort parameters is appended to the pagination properties (although semantically equivalent).
DATACMNS-420 - Introduced RepositoryConfigurationDelegate.

RepositoryConfigurationDelegate allows to easily trigger repository BeanDefinitions to be registered independently of the client API (XML or annotation configuration support). Refactored the existing configuration base classes to use the newly introduced class. Removed defaulting of infrastructure components needed for Spring 3.1 compatibility.
DATACMNS-421 - Removed obsolete version declarations for Spring dependencies.
DATACMNS-422 - Mitigate semantic changes in Spring 4.0's GenericTypeResolver.

In case of an unresolvable generic parameter in TypeDiscoverer's getTypeArgument(…) we check for a generic super type for the given bound and fall back to Object in case we find a parameterized type.
DATACMNS-423 - Deprecated Jackson 1 repository initializers.
DATACMNS-418 - Adapt to latest changes in Spring HATEOAS.
DATACMNS-425 - Use new repository URLs and add repo for build plugins.

Removed test dependency as it's already declared in Spring Data Build parent POM.
DATACMNS-426 - RepositoryMetadata now has an isPagingRepository().

Moved getCrudMethods() to RepositoryMetadata to be able to add a isPagingRepository() to the interface as well. Changed DefaultCrudMethods to work with a RepositoryMetadata instead of RepositoryInformation.

DefaultRepositoryInformation now completely delegates to the ResourceMetadata given and not extend it to avoid initialization order issues.
DATACMNS-418 - Use TemplateVariables value type for pagination templates.

Changed Hateoas(Pageable|Sort)HandlerMethodArgumentResolver to use newly introduced TypeVariables abstraction to avoid having to deal with string representations manually.

The registered TemplateVariables carry a "pagination.….description" key to be resolved against a MessageSource.
DATACMNS-422 - Remove workaround in test cases after recent fix for generic component types.

Build should be fine on Spring 4 now.
DATACMNS-430 - Using Jackson version property from build parent.

Removed custom dependency from Spring 4 profile as it's already included in the parent pom.