Optimized TomcatInstrumentableClassLoader implementation

Issue: SPR-10788
(cherry picked from commit d32a77a)
Refined javadoc for WebLogic/WebSphere transaction setup

Issue: SPR-10777
(cherry picked from commit 9035a97)
Introduce SubProtocolHandler abstraction

Add SubProtocolHandler to encapsulate the logic for using a
sub-protocol.

A SubProtocolWebSocketHandler is also provided to
delegate to the appropriate SubProtocolHandler based on the
negotiated sub-protocol value at handshake.

StompSubProtocolHandler provides handling for STOMP messages.

Issue: SPR-10786
Fixed ClassFilterAwareUnionMethodMatcher equals implementation

Issue: SPR-10604
Scan for JPA 2.1 Converter annotation as well

Issue: SPR-10799
Added JPA 2.0 compliant "sharedCacheMode" and "validationMode" properties to DefaultPersistenceUnitManager and LocalContainerEntityManagerFactoryBean

Issue: SPR-10764
Updated for Tomcat 6.0+

Issue: SPR-10788
DelegatingFilterProxy avoids synchronization for pre-resolved delegate

Issue: SPR-10413
Polish Cookie abstraction in http packge of spring-web

A getCookies method is now available on ServerHttpRequest with one
ServletServerCookie implementation that wraps a Servlet cookie.

The SockJS service makes use of this to check for an existing session
cookie in the request.
Polish async feature for ServerHttpRequest/Response

ServerHttpAsyncResponseControl wraps a ServetHttpRequest and -Response
pair and allows putting the processing of the request in async mode
so that the response remains open until explicitly closed, either from
the current or from another thread.

ServletServerHttpAsyncResponseControl provides a Serlvet-based
implementation.
Polish ServletServerHttpRequest query param handling

The method returning query parameters now returns only query string
parameters as opposed to any Servlet request parameter.

This commit also adds a ReadOnlyMultiValueMap.
Polish SockJS exception handling and javadoc

See javadoc in SockJsService for details.

Also remove ReadOnlyMultiValueMap, CollectionUtils has a method for
that already.
Remove unintended dependency on Servlet API in SockJS

Add a factory method in ServerHttpRequest for creating a
ServerHttpAsyncRequestControl.
Upgraded to XStream 1.4+; reworked XStream construction

Also introducing a "mapper" bean property and applying the stream driver and the class loader to the native XStream delegate now.

Issue: SPR-10421
Return -1 after parse error for Expires header

Issue: SPR-10648
Make date methods in HttpHeaders public

Issue: SPR-10713
Polish AbstractContextLoaderInitializer and subclasses

This commit polishes the Javadoc and assertion failure messages for
AbstractContextLoaderInitializer and its subclasses.
Exposed all of XStream 1.4's configurable strategies as XStreamMarshaller bean properties

Issue: SPR-10421
Introduced "mapperWrappers" bean property

Issue: SPR-10421
Added javadoc note on the use of CachingConnectionFactory

Issue: SPR-10581