extend JobManager TestCase

I added a testcase to the JobManagerTest to test the deferring because of missing requirements (I had problems with the JobManager in #2031). It currently fails.

If I didn't misunderstood the JobManager logic, it could be fixed by removing the `return JobResult.DEFERRED;` in the JobConsumer file.
no, runIteration is iterated on the stack for each run through the loop. you only need to save the value if you're deferring the job to wait for a requirement.