Add spring-websocket module
Add javax.websocket.Endpoint configuration support
Add handshake request handler abstraction
Update package structure
Add EndpointRequestUpgradeStrategy

Now there is just one EndpointHandshakeRequestHandler that works on
different runtimes.
Add first cut of SockJS server support
Add support for @ServerEndpoint annotated classes
Add endpoint connection manager
Polish in EndpointRegistration
Debug and test SockJS server support
Refactor SockJS code

- configure SockJS handler by type (as well as by instance)
- add method to obtain SockJS handler instance via SockJsConfiguration
- detect presense of jsr-356 and use it if available
Add Glassfish request upgrade strategy
Add package-info, javadoc, and update package names
Add flush method to ServerHttpResponse

This is useful to make sure response headers are written to the
underlying response. It is also useful in conjunction with long
running, async requests and HTTP streaming, to ensure the Servlet
response buffer is sent to the client without additional delay and
also causes an IOException to be raised if the client has gone away.
Add SockJsSessionFactory
Refactor SockJS and WebSocket layer configuration

Add HandlerProvider<T> class
Modify HandshakeHandler to accept + adapt WebSocketHandler at runtime
Modify SockJsService to accept + adapt SockJsHandler at runtime
Init and destroy internally created SockJS schedulers
Add onClosed to SockJsSessionSupport sub-classes

As opposed to close(), which actively closes the session, the
onClosed method is called when the underlying connection has been
closed or disconnected.
Rename SockJS session type to include "SockJs"
Modify build version for branch CI snapshots