buildbot: broke into a master and a builder bot

This change is the first major step towards more improvements to the
buildbot. It cleans up various details, but most notably:
-it now uses a task as the basic data structure, to improve readability
and maintainability
-it breaks the bot into a master bot and a builder bot.

The master bot is in charge of
1) monitoring the changes to the Camlistore and Go repos,
2) recompiling builder bot, which allows to add some new tests to the
test suite without having to interrupt the master bot.
3) starting a builder bot instance
4) waiting for the builder bot report and/or polling the builder bot
for its progress
5) answering the requests to display the various status pages.

The builder bot is started as "ephemeral" by the master bot, so that
it dies when it's done running the testsuites. However, it can also
be run stand-alone as a long lived instance. A further step will be
to use builder bot instances as long-lived remote bots which report
regularly to the master bot, allowing us to gather reports on different
architectures.

http://camlistore.org/issue/185

Change-Id: I46a0b8fabbebf76b0c3ed04fd2ee73362d565cf7