Use actual wall time to determine when to stop

The --target-time argument controls "the target duration of all
iterations in seconds". The problem is that for short (sub-millisecond)
programs, the overhead of orchestrating the timer far outweighs the
actual execution time. As a result, the shorter the execution time of
the target program, the longer the experiments would run for.

This patch makes the --target-time argument used *actual* wall time to
determine how long to run experiments for. If the user specifies 10
seconds, we aim to run the experiments for 10 seconds, not 10 seconds
worth of experimental time.