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