refractor irc.py so everything is processed before modules' functions can interact with the recieving data. Fixes issue #45