Revised ResizableByteArrayOutputStream as an actual subclass of ByteArrayOutputStream, and consistently applied appropriate ByteArrayOutputStream initial capacities across the codebase

Issue: SPR-11594
Polishing
DispatcherServlet logs request URI in encoded form only

Issue: SPR-11591
Add BufferingStompDecoder

Before this change the StompDecoder decoded and returned only the first
Message in the ByteBuffer passed to it. So to obtain all messages from
the buffer, one had to loop passing the same buffer in until no more
complete STOMP frames could be decoded.

This chage modifies StompDecoder to return List<Message> after
exhaustively decoding all available STOMP frames from the input buffer.
Also an overloaded decode method allows passing in Map that will be
populated with any headers successfully parsed, which is useful for
"peeking" at the "content-length" header.

This change also adds a BufferingStompDecoder sub-class which buffers
any content left in the input buffer after parsing one or more STOMP
frames. This sub-class can also deal with fragmented messages,
re-assembling them and parsing as a whole message.

Issue: SPR-11527
Add configuration for message buffer size limit

BufferingStompDecoder message buffer size limit can now be configured
with JavaConfig MessageBrokerRegistry.setMessageBufferSizeLimit() or
with XML <websocket:message-brocker message-buffer-size="">.

Issue: SPR-11527
Polish StompDecoder and the new Buffering sub-class

Issue: SPR-11527
Add WebSocketTransportRegistration

Issue: SPR-11527
Add WebSocket transport configuration support

Issue: SPR-11527
Polishing
Add session lifecycle ApplicationEvent's

Issue: SPR-11578
Update default pools size for SockJS scheduler

This change updates the XML namespace to match a change already made
to the Java config.
Allow configuring WebSocket message size in a session

Issue: SPR-11575
Upgraded to ASM 5.0.1

Issue: SPR-11239
Update test to catch CI server issue
Guard against exceptions from ApplicationListener

Issue: SPR-11578
Fix issue in last commit
Improve MessageMethodArgumentResolver

This commit validates that the payload type of the message is
assignable to the one declared in the method signature. If that
is not the case, a meaningful exception message is thrown with
the types mismatch.

Prior to this commit, only the Message interface could be defined
in the method signature: it is now possible to define a sub-class
of Message if necessary which will match as long as the Message
parameter is assignable to that type.

Issue: SPR-11584
Introduce base exception class for arg resolution

Issue: SPR-11584
Update WebSocket engines support documentation
polishing