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.
Print the host/conf tests are run on.
Oops, output to the test log.

Also include the date.
Simplify.
Add unsigned cast.
Add missing return for success.
Fix bug from previous checkin -- master_address should be my_master instead.
Add missing header to ftsh.c