Basic websocket support for the presence server

Because these changes depend on the changeset from PR 16, it's probably going to be hard to review them until that changeset is merged.  

This just adds basic WebSocket tests and makes them pass.  It also gets switches to adding a start method to the app, instead of monkeypatching listen.  The rationale is that people expect listen to do something specific in Express, and causing it to quietly do other things as well is likely to confuse future readers who are new to the code.