5717: crunch-job uses fewer slots when few tasks at this level.
When crunch-job begins tasks at a new level, it looks at the number of
tasks scheduled for that level. If that's smaller than the maximum
number of slots available, then it only considers slots "free" up to
the number of tasks scheduled, or the number of nodes available,
whichever is greater.
This change lets Crunch scale whole-node resources like RAM more
effectively. This may not be desired if a level starts with a small
number of tasks queued, but later schedules more and wants maximum
parallelization, but that's uncommon enough that this seems like net
win. Previously, Crunch could overallocate RAM in this scenario,
which seems worse.