Introduced utility methods.
Improved asynchronous code, and applied exception handling where needed.
Changed IrcUser to a struct, and changed its use accordingly.
Some cleanup, and minor improvements to the connection mechanism.