This allows bots to be stateful. It doesn't handle persistence
after the bot shuts down, but it does store state between
invocations of handle_message.
This commit also starts to build out the infrastructure for
helping Zulip contributors to more easily author bots in
a way that sets up for running some bots on the server itself.