Refactor timeout backoff logic

When an error occurs processing a job, the worker sets the timeout based on the
backoff logic and abandons the job. The job can then later be picked back up by
an available worker when the timeout expires. Currently the backoff logic
supports exponential backoff with a default increment value of 3 hours. I
propose a fibonacci backoff with more reasonable values.

e.g.

5s
10s
15s
25s
40s
1.08m
1.75m
2.83m
4.58m
7.42m
12.00m
19.42m
31.42m
50.83m
1.37h
2.22h
3.59h
5.81h
9.40h

RM7469