Adding null checks to parameters.
Renaming webSocketProtocol -> webSocketProtocols.
Removing webSocketProtocolCSV method.
Adding DEFAULT_MAX_STREAMING_BYTES_SIZE constant.
Adding milliseconds to session time out and heartbeat javadocs.
Adding missing @Override and using StringBuilder for toString.
Adding DEFAULT_MAX_STREAMING_BYTES_SIZE to builder.

This should be squashed into previous commit that added this constant.
Adding constants sesstion timeout and heartbeat default values.
Renaming SockJsServiceFactory create() -> newService().
Renaming SockJsSessionContext getContext() - context().

Also adding @link to ChannelHandlerContext in javadoc.
Replacing asserts with null checks.
Renaming getSockJsSession -> sockJsSession.
Making SessionRemover final.
Using TimeUnit.DAYS.toMillis.
Replacing ThreadLocal with FastThreadLocal.
Updating Info toString method to use a sane initial size.
Making PollingSessionState and PollingHeartbeater final.

Also added a @link in javadoc to ChannelHandlerContext.
Adding static HeartbeatFrame.
Making SendingSessionState final and replacing asserts with null checks.
Removing retain of message message cannot be handled by SessionHandler.