Exponential Backoff Strategy with Jitter
The duration between consecutive attempts is calculated as follows:
intervalMs = min(maxIntervalMs, initialIntervalMs*(baseFactor^attempts) +/- r)
where baseFactor is the base factor and r a random value between 0 and jitterFactor*intervalMs.
This HTTPClient implementation wraps OPAHTTPClient and has the same
functionality, but also creates log messages indicating the latency for each
request processed.