Arcyd: add 'loop_test' for exercising many cycles

Add a new testbed script that runs Arcyd in a loop, just like it would
in production.  Continuously poke review branches in and accept them
after a delay.

In later work we can introduce 'arcyd instaweb' for monitoring the
looping instance of Arcyd (again, just like production)

Test Plan:
$ ./testbed/arcyd/loop_test.sh
-enter-
$ ./testbed/arcyd/loop_test.sh
CTRL-C
Arcyd: cache review state queries and batch update

To reduce the amount of time spend querying the states of reviews,
introduce a cache which stores the last known state of a review and when
refreshed, batches review queries together.

Test Plan:
$ ./precommit.sh
$ ./testbed/arcyd/acceptance_tests.sh
$ ./testbed/arcyd/loop_test.sh
WIP: emailtousername cache