Fixed getCachedExecutor race condition in MethodReference

Issue: SPR-10884
Remove incorrect package import

Issue: SPR-10880
Polish WebSocket/STOMP Java config

Ensure configuration provided for WebSocketHandler's (eg interceptors,
or HandshakeHandler) are passed on to the SockJsService if congiured.

Better separate Servlet-specific parts of the configuration to make it
more obvious where non-Servlet alternatives could fit in.

Add more tests.

Improve WebSocket integration tests.
Add Tomcat WebSocket integration tests
Polish WebSocket integration tests
Changed Future<Void> to Future<?>

Changed return values of Future<Void> to Future<?> in AsyncRestTemplate
and AsyncRestOperations.
Fixed method count in AbstractMethodMockingControl's IllegalStateException message

Issue: SPR-10885
(cherry picked from commit 5596154)
Properly handle getMethodDescriptors() null value on IBM JVM

Also internally renaming SimpleNonIndexedPropertyDescriptor to SimplePropertyDescriptor and preferring direct field access wherever possible.

Issue: SPR-10862
(cherry picked from commit 5639aa7)
ThreadPoolTaskScheduler allows for setPoolSize changes at runtime

Also exposing "getPoolSize()" and "getActiveCount()" from ThreadPoolTaskScheduler now, analogous to ThreadPoolTaskExecutor.

Issue: SPR-10883
Javadoc fixes
Polishing
Revised spring-oxm for 4.0

Added "target-package" to the jibx-marshaller element. Also fixed "context-path" and "binding-name" to follow Spring's usual attribute naming convention.

Issue: SPR-10882
Add tests to spring-messaging
Refine destination semantics for msg-handling methods

After this change, annotated message handling methods configured to use
a destination prefix (e.g. "/app") no longer have to include the prefix
in their mapping. For example if a client sends a message to "/app/foo"
the annotated methods should be mapped with @MessageMapping("/foo").
Consistent support for JTA 1.1 TransactionSynchronizationRegistry

JtaTransactionManager's configuration options for a TransactionSynchronizationRegistry are now in sync with the options for UserTransaction/TransactionManager. Specifically, there are setTransactionSynchronizationRegistry/getTransactionSynchronizationRegistry methods for programmatic configuration now.  Motivated by Spring's adapting to a Hibernate JtaPlatform, specifically the Hibernate 4.3 changes in that area.

Issue: SPR-10839
Compatibility with Hibernate 4.3

Due to key SPI interfaces such as ConnectionProvider and JtaPlatform changing their package location in Hibernate 4.3, we have to resort to reflection in a few places. Most importantly, the ConfigurableJtaPlatform used by the setJtaTransactionManager method has now been redesigned as a reflective proxy.

Issue: SPR-10839
First-class support for MultiTenantConnectionProvider and CurrentTenantIdentifierResolver

Uses Object-typed setter methods to bridge between package location changes in Hibernate 4.2 vs 4.3. As a side bonus, those setters accept Class and class names as well.

Issue: SPR-10823
Modify return type of subProtocolWebSocketHandler bean

The @Bean method now returns WebSocketHandler allowing it to be
decorated via WebSocketHandlerDecorator.
Fixed accidental use of Reactor's Assert util

Issue: SPR-10880
Remove TODOs (replaced with JIRA tickets)

Issue: SPR-10703