[BZ 1120418] remove recursive calls during job execution

One of my prior commits added support for continuing execution after a failed
step. It involved a recursive call which I really do not since it can be done
easily in an iterative way. The loadJob() method has also been updated to
eagerly load each step's configuration to avoid lazy init exceptions.