holoirc: multiple updates

* start parsing mode changes sent to channels
* properly close socket if disconnected before connection
* cleanup dead code
* don't reduce privilages if user is OP and someone else voices the user