Unregistering comms in Comm Manager

- [x] Deleting a comm now unregisters the comm (because creating it already registers it). 
      Unregistering the comm does not close it anymore (because registering the comm does not open it). 
- [x]  closing a widget should not remove it from the collection of widgets Widget.widgets. Closing, reopening a comm is independent of the lifetime of the widget. 
- [x] deleting a widget unregisters the widget from Widget.widgets. Decrements the ref count of the underlying comm. 

This should probably be in `close`, not `__del__`. It shouldn't be assumed that `__del__` ever runs.