Changed the threading model of IRCMarshal to prevent blocking of the socket.

The socket thread will now enqueue items in the IRCMarshal's queue and
will then leave it for the background thread that IRCMarshal now has to
pick up as to prevent PONGs not being sent back to the server in a
timely fashion due to a back log of UI processing to do (namely when
requesting a list of channels on a highly active server.)
Merge pull request #13 from intninety/enhancement/connectivity-optimisation

Changed the threading model of IRCMarshal to prevent blocking of the socket