initial breakup of checking + triggering

this removes automated build triggering, and drastically simplifies build
checking. watchman now simply records versions into the database, and does
nothing else.

the redis db implementation is now phased out; it only stuck around
transitionally.

automated build triggering will be reintroduced as a separate process that
simply runs every N seconds and selects the most recent version for each of
its inputs, and triggers a build with them. triggering every intermediate
version will no longer be a feature; it just adds complexity and is risky in
most cases (pushing 20 commits = 20 builds = a sad VM).

most places that have a DB and previously used redis in the tests, now define
an interface that is a subset of the DB and is faked out for testing.