Add a websocket signaling server impl

PTAL
(Sorry for the previous abandoned requests. I'm new to the github work flow and messed up the repository)
What happens if a client registers twice?  Is the second rejected?  Is the first closed?  It seems like closing the first would be better for a case where a client thinks its reconnecting, but the server thinks the old one is still connected.