Two new features: maxInterval & randomize

Each time we get a failure, the intervall will be multipled by a factor
to make it longer, and the interval will be limited under `maxInterval`
if it exists (It will be set to maxInterval before the multiplying, so
the real limitation of interval is maxInterval * 1.5).

If randomize is true, the multipying factor is a random number between 1
and 1.5.