Work Queue Cleanup

Major cleanup of work_queue_pool and work_queue_worker.

work_queue_pool now queries the catalog for masters with a given project name (regex), computes the desired number of workers, and submits them with the same project name (regex).

work_queue_worker now clearly queries for the list of matching masters and tries them in a random order.  The worker no longer queries "wq_pool" records from the catalog for configuration.

There are still some problems here that need to be addressed:
- timeouts are used inconsistently, esp regarding when to disconnect after periods of idleness.
- accounting for resources locally doesn't look right, esp dividing by the number of workers.


Ok, I think it's reasonable to stop updates if we discover truncation.

But, I wouldn't fail the task, since the correct output will be sent back
when the task is complete.  Which is the only guarantee that we offer
anyhow.