Make ObjectMapper configurable in spring-messaging

Issue: SPR-11279
Remove unnecessary copying of headers in GenericMessage

Since the MessageHeaders constructor is makes a copy of the headers and
is protected against a null map, there is no need for the same to be
done in GenericMessage.

Issue: SPR-11268
Fix issue with use of SecureRandom for id generation

Switch to using nextBytes as generateSeed doesn't seem to be always
supported by all hardware providers.

Issue: SPR-11278
Handle bad STOMP messages in StompSubProtocolHandler

Issue: SPR-11277
Switch to Jackson 2 in unit tests

Prior to this commit, some unit tests were using
Spring's Jackson 1.x implementations. Now Jackson
2.x implementations are the default ones used in
unit tests.

Even if Jackson 1.x support is deprecated, Jackson 1.x
unit tests are kept.

Issue: SPR-11121
Support Validation in @MessageMapping annotated methods

Payload parameters in @MessageMapping annotated
methods can now also be validated when annotated
with a Validation annotation (@Valid, @Validated...).

A default Validator is registered by the MessageBroker
Configurer, but it is possible to provide a list of custom
validators as well.

Issue: SPR-11185
Fix Validator initialization with a no-op implementation

Issue: SPR-11185
Support varargs for DomUtils.getChildElementsByTagName

Issue: SPR-11272
(cherry picked from commit e334489)
Avoid hard reference to LocalValidatorFactoryBean in <mvc:annotation-driven> parser

Issue: SPR-11272
(cherry picked from commit c48da0d)
Introduced "spring.beaninfo.ignore" system property for optimized Introspector usage

Issue: SPR-9014
(cherry picked from commit f88cbda)
Added cache for path pattern tokenization

Issue: SPR-11258
Introduced OptionalValidatorFactoryBean for scenarios where the JSR-303 API is present but no Bean Validation Provider is available (used by the MVC namespace)

Issue: SPR-11272
Consistent implementation of AsyncListenableTaskExecutor

Issue: SPR-11282
Activated through rename to *Tests, and added method call interaction tests

Issue: SPR-7831
Use OptionalValidatorFactoryBean in Configurers

Configurers and BeanDefinitionParsers should use
OptionalValidatorFactoryBean instead of
LocalValidatorFactoryBean.

The Optional implementation catches and logs setup
exceptions, useful when a validation API is present on
the classpath but not the actual implementation.

Issue: SPR-11272
Log stack trace on failure to send message to client

Issue: SPR-11201
Drop separate user dest property for subscriptions

Before this change DefaultUserDestinationResolver provided a separate
destination prefix property for identifying "user" destinations in
subscription requests as opposed to in sent messages. Such a separate
property should not be needed.

Issue: SPR-11263
Support custom PathMatcher for MappedInterceptor's

Issue: SPR-11197
Polishing
Upgrade to CGLIB 3.1 and Objenesis 2.1

Issue: SPR-11226