implement sliding next_timeout

- While the worker is processing a job, it polls for image_status and as
part of it, it updates the job.status and job.next_timeout based on
the following params: [job_timeout_update_increment_min,
job_timeout_max_updates]. This sometimes leads to worker holding onto
job for longer period of time.
This change uses the 'job_timeout_update_interval_min' (window duration
for updating the job.next_timeout) to reduce the amount of time the
worker holding on to a job.