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
Added ListenableFuture interface

Added extension to Future with capabilities for registering callbacks
when the future is complete.

- Added ListenableFuture, ListenableFutureCallback,
  ListenableFutureCallbackRegistry, and ListenableFutureTask.
- Using ListenableFuture in AsyncRestOperations/AsyncRestTemplate.
- Added AsyncListenableTaskExecutor, implemented in
  SimpleAsyncTaskExecutor.
- Added FutureAdapter and ListenableFutureAdapter.
Merge pull request #351 from poutsma/listenable_future

* listenable_future:
  Added ListenableFuture interface
Fixed EL resolution against static method with changing target class

Issue: SPR-10452
Only cache resolved method when coming from ReflectiveMethodResolver

Issue: SPR-9495
Polishing

Issue: SPR-9495
Revised PersistenceExceptionTranslationInterceptor to lazily retrieve PersistenceExceptionTranslator beans on demand

Issue: SPR-10894
Polished exception message
(cherry picked from commit 6110919)
Polish StompProtocolHandler
Introduce ListenableFuture to WebSocketClient

Issue: SPR-10888
Polish Javadoc for ZoneIdEditor & TimeZoneEditor
Polish Javadoc for messaging annotations
Rename @ReplyTo to @SendTo