More accurate timing through more iterations

Short benchmarks have more noisy jitter. Make tests take around 1-2s to
reduce the variance between runs.
I think having a min_time argument could be a little useful (but it's easy to add if we ever do have a real use for it). I think having a warmup that long is absolutely unnecessary - we're just estimating a number of iterations so we have more warm data to run on and reduce jitter compared to just doing one run. The point isn't to count iterations, or even to have a specific number - the point is to
a) run on the warm data more than once, because a lot of our packet dumps are too small to be particularly useful for timing otherwise.
b) get a rough bound of how many times to do so, so we're not running for an hour if we run on a big packet capture, or for 2 milliseconds on a tiny one. If it happens to take 0.5 seconds or 3 seconds, it's not a big deal; fine-tuning the number of iterations on masses of warm data is overkill!