Major changes.  I've pushed back the IRC interface into its own object.

I think what I'm doing is a bit kludgy and I'll probably change things around
yet again at some future point.  It's definitely better than what I was doing
before.