Rewrite a bunch of the socket server!

* use socket.io `rooms`.
* log via `nlogger`
* store usernames associated with sockets at registration time.

__this is not compatible with the current client code in Tubalr.__

We'll need to update the client code (see my corresponding branch.)