Always preserve target class for configuration classes in case of auto-proxying

Issue: SPR-10561
Fixed javadoc
Add XML namespace for WebSocket config

This commit adds an XML namespace equivalent of @EnableWebSocket and
@EnableWebSocketMessageBroker. Those are <websocket:handlers> and
<websocket:message-broker> respectively.

Examples can be found in the test suite.

This commit also alters the way MessageHandler's subscribe to their
respective MessageChannel's of interest. Rather than performing the
subscriptions in configuration code, the message channels are now
passed into MessageHandler's so they can subscribe themselves on
startup.

Issue: SPR-11063
Add assert AbstractStandardRequestUpgradeStrategy
Add a 'bill of materials' project for Maven users

Add 'spring-framework-bom' meta-project that contains the other projects
in a dependencyManagement section.

Issue: SPR-11138
Polish websocket xml namespace

Issue: SPR-11063
Fix casing in spring mvc namespace attributes

Update "enableMatrixVariables" and "ignoreDefaultModelOnRedirect" to
use the more conventional XML form "enable-matrix-variables" and
"ignore-default-model-on-redirect".

Both forms are now supported by `AnnotationDrivenBeanDefinitionParser`,
with newer names being defined in the 4.0 XSD and the older names
remaining in the 3.2 XSD.

Issue: SPR-11136
Polishing
Rearranged web.socket.server subpackages and introduced web.socket.config
Move WebSocketExtension to top-level package
Fix ResolvableType hashCode generation

Fix ResolvableType.hashCode() to use the source of the variable
resolver, rather than the resolver itself.
Merged web.socket.messaging.config into web.socket.config and introduced web.socket.config.annotation
Use AnnotationTransactionAttributeSource class name to avoid hard dependency on transaction.annotation package
Polishing (including removal of javadoc imports that show as package cycles in IntelliJ)
Polishing (backported from 3.2.x)
EhCacheFactoryBean calls CacheManager.addCache before setStatisticsEnabled

Issue: SPR-11080
Issue: SPR-11092
(cherry picked from commit 6ce2eb9)
Fix test following ResolvableType hashcode change
Move websocket config tests to annotation package
Update websocket xml namespace attributes
Polish