add spec for a timeout worker.
add default timeout limit (6 hours).
add TimeoutWorker

Tests should be green.
Also StateUpdater methods are not protected anymore (we should be able
to manipulate the state from outside of the model).
add convenience methods for timeout-clock.
add specs for worker if timeout not reached.
adjust timeout worker for rescheduling

Utilize Sidekiqs scheduling capability.
Also allow rescheduling if timeout was not
yet reached.
use timeout-worker in worker and batch-parse.
rely on sidekiqs scheduling mechanism

Instead of second-guessing sidekiq by checking the timeout again (and
considering that sidekiq basically checks it the same way we were doing
it), we rely on sidekiqs scheduling mechanism.
Merge pull request #930 from ontohub/899-add_sidekiq_timeout_job

899 add sidekiq timeout job