support for 1:1 messages, connecting to multiple rooms with a single xmpp connection

I was forced to use `stm` to track state (xmpp session, rooms connected to) because the module state that lambdabot provides isn't available in the `LB` monad.

Of course, now that I look at things, I realize that where I would have needed it (for mapping room JID to api ID), has been moved and the lambdabot modules would work.