Fixed a small bug that would cause the app not to build due to a missing dependency on the base64 encoder
Buck the guy who decided Java should not build base64 strings by itself.
Introduced channels that allow clients to be separated inside the server. 

The client can always just join one channel, this has several functional reasons, usually several instances of the same web app are spread around several tabs. This means that a user will open different sockets when using different channels.

This doesn't mean cross-channel and cross user/channel messages aren't possible in the future, but the system will default to a certain channel when the message carries no information about this.