Observers now get a 'shutdown' method, which should be called when they've been removed from an Arbitrer's 'observers' list.
Implemented 'shutdown' for WebSocket, and turned WebSocket into a singleton.
Arbitrer now calls 'shutdown' on all Observers it has that are not also in the new config passed in when 'reload' is called.