Revisit SockJS session handling

The session handling in SockJS was too complicated and fragile. This
PR is a simplification of the handling of sessions mainly focused on
sipmlifying the SessionHandler class.

- These changes are a port of the same code in Netty SockJS
- These changes have been verified and are inline with the
  sockjs-protocol-0.3.3 testsuite.

[https://issues.jboss.org/browse/AGSMPLPUSH-50]