deleting a comm now unregisters the comm. unrehistering the comm does not close it anymore
decoupling the comm lifetime from the widget lifetime
comm_manager.comms correspond to the open comms.
unregister and register both take comm as argument
allow model id to be set externally on creation of a widget
merge from (PR 6216)
self.comm is not None on reopen