Timeout issues when using mutexes

Hi,

I don't know if you're still accepting pull requests to the 2.x branch; if you do:

We've been having some problems with timeouts not working reliably when mutexes are involved.

Basically, what happens is:
- Job is started
- Timeout job is scheduled
- Job blocks waiting for the mutex
- Timeout triggers, but does not see the waiting job, so does nothing
- Job finally acquires the mutex, but can no longer time out

This should fix it, by scheduling the timeout after the job has properly started and acquired its mutex.

Thanks
-Tobias