Add auto reconnection to the bot.

- Add a new Reconnecting state to the bot server that is interruptible.
- Add server reconnection based on server config to the bot's dispatch
  loop.
- Add new config operations: NoReconnect and ReconnectTimeout