Add a message loop.

Added a message loop which iterates over the incoming connection,
invoking handlers. EOF terminates the loop. I’m trying this w/ a
thread, just to see.

Added “block-on-welcome” because why not. It consumes messages until it
sees the welcome message. It should time out right now or check for EOF
but it doesn’t. This may just need to be a handler like any other for
this reason, so it can take advantage of generic reading logic.

Make an irc-connection struct & use that as the generic datatype to
pass around to functions that need to send stuff. Use the irc-message
struct a little bit.

Not all of this has been equally tested, of course. :(

Next would be to stop screwing around and add a PING handler. This
would actually allow it the bot to persist.