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.
IRCClient: Send unparsed lines to the client
IRCClient: Support attempting multiple connections

Currently unused. it will attempt anything in BaseIRCClient.connections
as a constructor for a connection class.