holoirc: rework disconnect handling

* make it so that the Connection gets all the disconnect stuff and then passes this onto the activities when confimation is
recieved from the server
* also rework reconnect handling and unexpected disconnect handling as well