The code that handles sending input files is now refactored into 4 functions:
1. put_input_item() which replaces put_file() from before
2. put_directory() which sends mkdir() to worker and sends its contents by
calling (recursively) put_directory() or put_file()
3. put_file_whole() which sends the entire file contents to worker
4. put_file_piece() which sends the file contents within specified byte offsets.

This fixes Bug 993: Cached and Uncached directories in work_queue_worker.