lightirc: Lot of changes

* too many for me to be bothered to go into - see the commit - it's pretty obvious