Arcyd: report repos fetched during cycle

Make it possible to correlate the number of fetches during a cycle with
cycle time.

Test Plan:
$ ./precommit.she

Make sure poking results in temporary fetch increase
$ ./testbed/arcyd/test_shell.sh
    $ tail -f ../arcyd/savereport.txt &
    .. observe 1 fetch per cycle ..
    $ ./poke.sh
    .. observe 2 fetches per cycle ..
    .. observe 2 fetches per cycle ..
    .. observe 1 fetch per cycle ..
Refactor, extract _NumericalSampleDiffer

Reduce repetition in CycleReportJson by extracting the sampling to a
separate class.

Test Plan:
$ ./precommit.sh

Look for smoke
$ ./testbed/arcyd/test_shell.sh
    $ tail -f ../arcyd/savereport.txt