Adds support for introducing a degree of randomness into jobs which retry on an expontential backoff strategy

I have a few jobs where they fail in groups (e.g., they talk to an external service and that service is often down, so all X jobs running fail when this happens). Right now, all these jobs will retry at the same time.

This pull request allows you to introduce a degree of randomness into the retry schedule when using exponential backoff.