*: document list of parents, not done parents in Job objects
 *: 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