Upgrade Eclipse project settings for Java 8

 - Set the eclipse.jdt source and target compatibility to 1.8 in
   ide.gradle.

 - Updated the instructions in import-into-eclipse.sh to reflect minimum
   requirements for building Spring Framework 4.1 against Java 8 with
   Eclipse and STS

Issue: SPR-11831
Upgrade spring-test tests to Hibernate 4

This commit upgrades Hibernate-based integration tests in the
spring-test module to use Hibernate 4 instead of 3 and Hibernate
Validator 5 instead of 4. This streamlines and simplifies our
dependency management at the same time.

Issue: SPR-11834
Eclipse project deps come after third-party libs

Prior to this commit, the ordering of classpath entries in the
generated Eclipse .classpath files did not align with the intended
dependency management configured in the Gradle build. Specifically,
project dependencies often came before dependencies on third-party
libraries required for the given project, causing the project not to
compile in Eclipse.

This commit fixes this issue by introducing new functionality in the
ide.gradle script that moves all project dependencies to the end of the
generated classpath.

Issue: SPR-11836
Polishing
polishing

If no converter is found, the MessageConversionException now contains
the message instance that could not be handled

Issue: SPR-11817
Made transform test pass on Windows
MarshallingView unwraps JAXBElement value for Marshaller.supports(Class) check

Issue: SPR-11827
Introducing GroovyWebApplicationContext along the lines of XmlWebApplicationContext and GenericGroovyApplicationContext

Also includes minor dependency updates such as Groovy 2.3.2.

Issue: SPR-11371
Fix issue with StompSubProtocolHandler initialization

This change ensures that StompSubProtocolHandler is injected with an
ApplicationEventPublisher for both the Java and XML config.

Issue: SPR-11825
Polish
ClassMetadata exposes isAnnotation() now, and correctly returns false from hasSuperClass() for interfaces and annotations

Issue: SPR-11711
Unit tests for configuration classes implementing the JSR-330 Provider interface

Issue: SPR-11830
Unit tests for custom profile annotations on configuration classes

Issue: SPR-11808
Parameterize ResponseBodyInterceptor on the type level

Issue: SPR-10859
Rename ResponseBodyInterceptor to ResponseBodyAdvice

Issue: SPR-10859
Cache operation invocation hook point

This commit adds a invokeOperation protected method in case one
needs a hook point in the way the underlying cache method is invoked,
and how exceptions that might be thrown by that invocation are handled.

Issue: SPR-11540
Clarify the use of sessionTransacted

This commit clarifies the role of the external transactionManager for
a DMLC and the relationship with the sessionTransacted flag

Issue: SPR-9200
GsonBuilderUtils for programmatic Base64 serialization setup; common Base64Utils class adapts between Java 8 and Commons Codec

Issue: SPR-9488
Support for @Order at the bean declaration level

This commit introduces OrderProvider and OrderProviderComparator, two
interfaces designed to externalize how a collection of element is sorted
according to their order value.

FactoryAwareOrderProvider is an OrderProvider implementation that knows
about the objects to order and the corresponding BeanFactory instance.
This allows to retrieve additional metadata about the actual instances
to sort, such as its factory method.

A @Bean method can now holds an additional @Order to define the order
value that this bean should have when injected as part of a collection
or array.

Issue: SPR-11310
Fix a typo