holoirc: cleanup code and make it less likely to crash

* split the server events into two categories - one to the activity and one to the fragment - backend recieves both
* make a subclass for handler for each type of handler
* move code about to clean code up