polishing

This commit adds an explicit error message when the BackOff instance
has returned BackOffExecution#STOP which basically means that no
further attempts are allowed.

This error message is a convenience way to notify that the container is
about to be shut down.

Issue: SPR-11746
Provide builder for ResponseEntity

This commit introduces a ResponseEntityBuilder, which allows for
building of a ResponseEntity through a fluent API.

Issue: SPR-11752
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)