Add exponential backoff with full jitter to makeRequest
Add exponential backoff with full jitter to makeRequest

When retrying requests, we want to spread out the work that clients are
doing so that they reduce the contention on the service which should
make the overall system more responsive and healthy, particularly when
there are many requests being retried at the same time.

The general way to do this is by adding exponential backoff with jitter.
More information can be found in this blog post from the AWS folks:

  https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/

enduire/happo.io,enduire/happo.io