Reconnect

Pretty much a redo of the client-side signalr code.