zulip_bots: Update README.md.
This stubs the zulip_bots README.md
and moves architectural information
to architecture.md.
ADD
zulip_bots/architecture.md
+# Architecture
+
+This document provides a big picture of Zulip's bot architecture.
+
+## Design goals
+
+The goal is to have a common framework for hosting a bot that reacts
+to messages in any of the following settings:
+
+* Run as a long-running process using `call_on_each_event`.
+
+* Run via a simple web service that can be deployed to PAAS providers
+ and handles outgoing webhook requests from Zulip.
+
+* Embedded into the Zulip server (so that no hosting is required),
+ which would be done for high quality, reusable bots; we would have a
+ nice "bot store" sort of UI for browsing and activating them.
+
+* Run locally by our technically inclined users for bots that require
+ account specific authentication, for example: a Gmail bot that lets
+ one send emails directly through Zulip.
+
+## Portability
+
+The core logic of a bot is implemented in a class
+that inherits from `ExternalBotHandler`.
+Creating a handler class for each bot allows your bot
+code to be more portable. For example, if you want to
+use your bot code in some other kind of bot platform, then
+if all of your bots conform to the `handler_class` protocol,
+you can write simple adapter code to use them elsewhere.
+
+## Other approaches
+
+You can still use the full Zulip API to create custom
+solutions. The hope, though, is that this architecture
+will make writing simple bots a quick and easy process.

zulip_bots: Update README.md.

This stubs the zulip_bots README.md
and moves architectural information
to architecture.md.