IRCClient: Move sasl authentication into javascript

This is the start of work attempting to remove the javascript sides
dependance on twisted. The goal is to allow the client to directly
contact the irc server over tcp or websockets.