Create new branch named "priority-pool"
Sort the ready-to-build pool by the number of packages needing each package
This allows libraries and large dependencies to be built first, thus
allowing the build to avoid a bottleneck later if it finds it needs
to stop and build dependencies before moving on.

Submitted by:	Matthew Dillon <dillon@apollo.backplane.com>
Store pool files in /pool/N instead of /poolN
Did not mean to commit this yet
Also balance the pool on startup, which allows incremental builds to have the priority benefits as well
Generalize the pools into POOL_BUCKETS which will define how many to create and use
Avoid an extra fork here and use globbing
Avoid another fork here by using globbing
Ignore errors as this may be running in parallel
Use proper bset()
Include unbalanced/ into POOL_BUCKET_DIRS at the end.

This makes it eligible to pull from in next_in_queue() as well.
Check if unbalanced is empty before processing, avoiding extra check every loop
Lock balance_pool() and return immediately if unable to obtain. No need to parallelize this.
Disable priority pool if POOL_BUCKETS==0
Merge priority pool