Moves some logic around in monitorJobQueue

- Before, the logic that would call monitorJobQueue again was packaged up in an function that was passed to the callback. Stuff became out of scope at that point, and just didn't work. What was happening is that if there was more than one thing in the queue when monitorJobQueue was called, only the first thing was popped off the queue - and that was it.