Use longer sleep time in test_job_trickling
Tighter ancestral blocking and updated determined_outputs

* A task cannot be considered until at least one job from all of its
    parents are submitted.
* determined_outputs is updated with both submitted and completed jobs
* We pass unittests! woohoo