fix a few races; prevent deadlock by running irc message handlers in seperate goroutine