Added an auth solution for websockets

Until we figure out how to intercept the HTTP get request that is upgraded into a websocket, we will be using a token-based system to indicate that a websocket can be trusted. Anyone can open a websocket with the server with this approach, but only authenticated users will be able to get a token allowing them to use it.
Good question. I was following your example from `getConnectionID(opts, cb)`, but I can't say I thought the decision through.

I'd say that it's outside of the scope of the test itself - in other words, there's no way the tests using this can run properly without `options.jar` being passed, so it interrupting execution is probably preferable no? Either that or we can safely assume it'll be passed in.