Initial metric and session timeout support.
Added missing class.
Cleaned up ServiceMetadata.
Renamed ServiceMetadata to Service.
Made client URL optional.
Enabled SessionCallback methods to throw exceptions.

Much like how Netty does it with channel handler callbacks.
Initial version of a web socket client.
Support for custom metric prefixes.
Fixed bug triggering TestServer as a test.
Made BaseTransport idle state aware.

When setting up the pipeline you still need to add IdleStateHandler.
Null check before logging frame size.
Improvements to client.
Changed how WS frames are processed.

Prevented unknown frames to raise exceptions. Now they are just silently discarded instead.
Maybe we should log this?
Removed idle state.
Fixed bug with onClose not getting called.

When a connection was interrupted and the timeout kicked in, the onClose was never called.
Pretty major as it prevented servers relying on onClose from cleaning up and doing post-close behavior.
Fixed bug in setState()

Incorrect variable used, thus metrics got screwed up.
Minor syntax fix.
Added getId() to Session.
Support for local channel clients.

Netty local channels are really useful for testing.
Stress test client and server.

Useful for finding memory leaks and performance issues.