Arcyd: refactor, hoist repo loop out of thread

Move towards multi-threaded Arcyd by moving the main repo processing
loop up into the main thread. This means that later we'll be able to
partition the list and delegate parts of it to worker threads.

This also greatly simplifies the worker thread routine.

Test Plan:
$ ./precommit.sh