Split user list from Channel into ChannelUserList
This patch is *huge* and potentially introduces a few bug, but it
*seems* ok so far. The ChannelUserList ought to be threadsafe; it was
necessary to do this as soon I will be added a bot:channel-users
function to the Scheme interface.
Doing this, naturally, exposed a number of horrid design issues that
I, as always, chose to ignore for now and instead merely cleaned up
one aspect as best as it could be given the surrounding muck. (ok,
Bobot++ isn't *terrible* but everything touches the internals of
everything so now they all have the Clap because one class caught it).
16 files changed: