hold jobs until all jobs are submitted, then release holds

This is required to avoid problems with submitting large batches of jobs that have dependencies among each other, if one of the dependency jobs finishes too quickly, registering it as a dependency later fails.