Fix infinite retries of interrupted jobs
This MR partially reverts !12 (merged) or at least changes the behavior significantly. We don't make a difference how exactly the job has been failed, forcibly or not. The job can only be interrupted and retried 3 times (this is by default and is configurable). After all the attempts to run the job has failed we put it to a special queue
interrupted. This queue mostly behaves as Dead queue so it only stores a limited amount of jobs for a limited term. Same as for Dead queue, all the limits are configurable.
All the functionality is tested in specs and integration tests.