Correctly re-mark unlabled tasks that have been evicted from a worker so they don't clog the scheduler.

Previously, when a completely unlabeled task was assigned to a worker, it was labeled with the worker's resources.  If that worker was released, the task would be put back into the ready list without clearing out the old worker's values.  If that worker happened to be the "best" in some category, the task would not be able to be assigned to any worker in the system, and would sit at the top of the list, waiting for assignment, blocking any other tasks in the queue.

Now, a partial fix is for unlabled tasks to be reset every time they are removed from a worker.  We still need to look at the scheduling algorithm, though, to ensure that a poorly labeled or resource-demanding task won't hold up any of the other tasks.
add libwork_queue.a as a dependency for makeflow, to force rebuilding after changes to batch_job or work_queue