Fix RestTemplate documentation for gzip encoding

Prior to this commit, RestTemplate's documentation advised to a
DecompressingHttpClient decorator along with Apache's HttpClient in
order to support gzipped responses.

Since this is now deprecated as of Apache HttpClient 4.3+, this commits
update the documentation with HttpClientBuilder.
Polish
Consistent use of ClassUtils.forName instead of class.getClassLoader().loadClass

Issue: SPR-11780
ResultSetWrappingSqlRowSet preserves first matching column per name (as defined in ResultSet's javadoc)

Issue: SPR-11786
Polishing
Avoid JMSException in listener execution

This commit avoids throwing JMSException from the listener execution
as this is not allowed per spec. Our SessionAwareMessageListener
gives a callback that can throw JMSException and we have "abused" it
so far.

Typical message processing goes in those 3 steps:
* Unmarshall the javax.jms.Message to the requested type
* Invoke the actual user method (including processing of method
  arguments)
* Send a reply message, if any

Those three steps have been harmonized so that they don't throw a
JMSException anymore. For the later case, introduced
ReplyFailureException as a general exception indicating the
reply message could not have been sent.

Issue: SPR-11778
Polishing
Latest possible dependency updates for spring-orm
Add error code for SAP Hana

This commit adds a SQLErrorCodes instance for SAP DB, based on a
contribution from Andrew Clemons

Mostly based on SAP Hana SPS 07 with a few additional codes that are
only present is previous versions:

* -813 - Cannot connect to host somehost:30115 [Connection refused]
* -709 - Unknown host somehost:30115 [somehost], -709.]
* -708 - Cannot connect to jdbc:sap://somehost:30115 [Receive of connect failed.]
* -11210 - Invalid column index XYZ.

Issue: SPR-11770
Move ResponseEntityBuilder into ResponseEntity

Moved the ResponseEntityBuilder into the ResponseEntity itself.

Issue: SPR-11752
Polish
Improve StringUtils.cleanPath

Issue: SPR-11793
Await TcpClient shutdown in STOMP broker relay
Add support for Jackson serialization views

Spring MVC now supports Jackon's serialization views for rendering
different subsets of the same POJO from different controller
methods (e.g. detailed page vs summary view).

Issue: SPR-7156
Properly evaluate @Conditional in case of multiple imports for same config class

Issue: SPR-11788
JmsResourceHolder checks for nested DataSource transactions as well (for Oracle AQ compatibility)

Issue: SPR-11791
Servlet/PortletResponse supported as a resolvable dependency now (in particular for web controllers)

This feature required support for response exposure on Servlet/PortletRequestAttributes, instead of just in the Servlet/PortletWebRequest subclasses.

Issue: SPR-11795
Properly evaluate @Conditional in case of multiple imports for same config class (fixing regression in Spring Boot)

Issue: SPR-11788
(cherry picked from commit 7d78c65)
Servlet 3 multipart request implements getParameterNames defensively (for WebLogic 12 compatibility)

This commit also includes lazy resolution support for StandardServletMultipartResolver, along the lines of existing lazy mode in CommonsMultipartResolver.

Issue: SPR-11074
Issue: SPR-11730
Add MessageSendingOperations for JMS

This commit adds a JMS implementation of MessageSendingOperations,
allowing to send JMS messages using Spring's standard Messaging
abstraction.

MessagingMessageConverter is a standard JMS's MessageConverter that
can convert Spring's Message to JMS message and vice versa. Existing
infrastructure has been updated to use this implementation.

Issue: SPR-11772