Adds a WebSocket field to client.Conn

When events come in from the IRC server, it was impractical forwarding
them to a client over WebSocket. As such, an open WebSocket connection
can now be passed into the goirc connection. When events fire they're
now able to directly access and send data over the Websocket.

gofmt also rearranged some code, but no structural changes otherwise.