Revisit JmsMessagingTemplate

This commit revisits JmsMessagingTemplate and adds support for
receiving operations as well. JmsMessageSendingOperations has been
renamed to JmsMessageOperations.

The messaging abstraction did not split receiving and request-reply
operations. AbstractMessageReceivingTemplate has been created to hold
only the receiving operations.

Issue: SPR-11772
Update JMS documentation

This commit updates the JMS documentation regarding the side effects
of not using the  cache with a non durable subscriber.

Issue: SPR-7883
polishing
ServletRequestAttributes considers standard Number subclasses (as defined in NumberUtils) as immutable

Issue: SPR-11738
Introduced EmbeddedValueResolutionSupport base class for AnnotationFormatterFactory implementations
Revised GsonFactoryBean's configuration properties; made prettyPrinting test pass on Windows

Issue: SPR-9488
Polishing
Fix grammar in Javadoc for Propagation
Add ResourceTransformer and CSS link implementation

This change adds a ResourceTransformer that can be invoked in a chain
after resource resolution. The CssLinkResourceTransformer modifies a
CSS file being served in order to update its @import and url() links
(e.g. to images or other CSS files) to match the resource resolution
strategy (e.g. adding MD5 content-based hashes).

Issue: SPR-11800
Fix animalSniffer warning
Tweak JmsMessagingTemplateTests for Eclipse 4.4

Eclipse 4.4 early release versions have issues with generics.

This commit slightly tweaks the use of generics in
JmsMessagingTemplateTests so that the class compiles in the latest
builds of Eclipse 4.4
Throw a proper exception if no convert is found

Prior to this commit, no exception was raised if a message could not
be converted to the requested payload because no suitable converter
were found.

This commit adds an explicit check if the converted payload is null.

Issue: SPR-11817
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