Adds script to submit workers to SLURM
Wraps monitor with category.

Also, move codes around so that the wrapping for the monitor and batch
options get the same scope.
Consolidate monitoring in a single function
Stop and report when rule goes over limits
each slurm_submit_workers invocation only submits one batch even if multiple workers are started
Updates resource_monitor documentation.
Update batch wq to work_queue_task_specify_file.
Add test case to remote renaming.
Fixed issue with file renaming (-> syntax).

Files were always being cached, even when Makeflow couldn't guarantee that they weren't uniquely named on the remote host.
It now only caches files if the remote and local names are the same, to ensure safety.
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
Bump to TRUNK 4.0.2rc1