Add a timeout when fetching a job from the persistence layers. It's my intention to add more timeouts, so this also introduces some code to make it easier to test that a context has a deadline set.