Implement automatic scaling benchmark
Implement automatic scaling benchmark

Summary:
Original implementation uses minimum running time as a result even if it will be just a single iteration, which might introduce high error rate.

This diff targets to improve benchmarking stability by adding a new method that estimates running time over 1 sec, runs benchmark with multiple ecpoches about half a second each for 5 sec, drops top and bottom 25% percentile measurements to remove outliers, and gives a geomean of whats left.

This feature is not enabled by default, as it might considarably increse total running time, and can be turned on by using `-bm_estimate_time` knob.

Reviewed By: Gownta

Differential Revision: D33478923

fbshipit-source-id: 144d8e16f8279a30a1eccf1d9494d607893532c8

facebook/folly,facebook/folly,facebook/folly,facebook/folly,facebook/folly