WIP: Add authenticated websocket connection
This creates a websocket endpoint using the HTTP server that Express also uses.
A "broadcast" method is attached to the Express app via an "io" object, for use in route handlers which need to send change notifications to connected clients.