Let worker wait for running tasks to complete.

If

- running tasks is non-empty, then another worker is running my tasks
- n_pending_tasks is non-zero, then I have something to do after she is done

And I shall wait for `wait_interval` seconds (with random jitter).

This adds the following configuration options:

- worker-keep-alive [boolean]
- worker-wait-interval [int]