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