Scheduler refactor, fix processing order
The essential thing which this branch does is abolishes the Scheduler.waiting_jobs
list, restoring the logic that the scheduler chooses elements which are ready in later queues first, so that elements start building as soon as possible.
To do this, this branch rearranges the interactions of the Job
, Resources
, Queue
and Scheduler
.
This branch also enables the regression test for element build order.