Improve percentiles computation with HDR histogram

This commit also introduces new fields in the Metrics.Latencies struct.
* Min
* P999
Vegeta relies on a periodic timer to maintain a constant request rate. From the documentation, we have:
> NewTicker returns a new Ticker containing a channel that will send the time with a period specified by the duration argument. **It adjusts the intervals or drops ticks to make up for slow receivers**. The duration d must be greater than zero; if not, NewTicker will panic. Stop the ticker to release associated resources.

From this, I take that if a GC pause is in course while a tick is to be delivered, the tick will be dropped. I could be wrong, though.
Regarding scheduling, Vegeta uses 1 go routine per request by default. This issues quite some pressure on the runtime scheduler but in theory it reduces *coordinated omission* by making it possible for each request to be promptly executed.
This setting can be limited by the user with the `workers=n` flag. In this case, the probability of dropping ticks increases.

In conclusion, it seems we have 2 possible sources of execution delays:
* GC pauses
* Scheduling contention (by limiting `workers`)

With these in mind, I wouldn't say Vegeta is *always* constant throughput but does a pretty reliable job in most situations, with sane defaults. So I would say that using `RecordCorrectedValue` is the best approach. Let me know what you guys think.