Make arguments consistent.
Factoring: Split get_output_file() from get_output_files().
Factored time and performance out of file types.
Factored common message pattern into recv_worker_msg_retry.
Factored generation of cached name to a single location outside of get_output_item.
Factored do_thirput out of get_output_file().
Factored get_file from get_file_or_directory.
Cleaned up get_file_or_directory to have a reduced number of failure
cases and use dynamic allocation for constructing names.
Removed sorting of received items, which was broken anyhow.
(t->output_files is a list of struct work_queue_file objects.
filename_comparator was casting each one to a string, then running strcmp,
which gives nonsensical results and a possible future segfault.)
Removed check for duplicate items on output; just keep it simple
and do exactly what the user requests.
Fixed bug in output caching: If the file was successfully received, then put its metadata into the cache table.
Fixed show-stopper in get_file_or_directory: only break out of loop on failure.
Fixed cache leak: when removing a file from the cache, use the cached name instead of the remote name.
Remove cvmfs repo switch notice on interactive use

Per Suchandra request, we do not print a notice anymore on interactive
use when there is a correct switch of cvmfs repo.
Print parse progress with rule number.

Per Neil Best request, Makeflow prints the node id of the rule it is
parsing (It prints the number every 250 rules, on the same line as the
previous number).
Merge branch 'work-queue-recv-cleanup' of git://github.com/dthain/cctools into dthain-work-queue-recv-cleanup

Fixed a cache leak, memory leaks, and other problems that were revealed along the way.