Ensure handshake attrs are copied in SockJS session
Add WebSocket scope

This change adds support for a custom "websocket" scope.

WebSocket-scoped beans may be injected into controllers with message
handling methods as well as channel interceptor registered on the
"inboundClientChannel".

Issue: SPR-11305
JasperReports-related polishing
Compilation compatibility with JasperReports 5.5.2
Building against Groovy 2.3 instead of 1.8; updated several dependencies to latest maintenance releases (JasperReports 5.5.2, Tiles 3.0.4, Jetty 9.1.5)
Building against Quartz 2.2.1 and JavaMail 1.5.2
Undertow-related polishing
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