*: Jobs have lists of parents, pending parents, etc.
 *: Each job has parents, waiting, and children lists (parents and children lists don't change during run; waiting does)
 *: submit failure puts job back into ready queue
+*: pre scripts are handled separately from ready queue -- kind of goofs things up...
+*: maybe explain how things work w/o pre/post scripts, then add in that info