master now tells non-classic worker about cached files a job needs: important for foreman operation
syntax is a put file command with length -1
Added hash_table_clear() as a counterpart to itable_clear().
Fixes work queue to handle cached files correctly when using a hierarchy.
Already cached files are explicitly added to a task, using a "put" message
with length=-1.  The appropriate caching flags are also added to the put
message to indicate whether a file will be cached or not.

Also fixed a segfault related to foremen cleaning themselves up after disconnecting.

Conflicts:
	dttools/src/work_queue.c
Collapsed put_whole_file() and put_file_piece() into one function, added
flags to "put" messages
Remove accidental character.
Adds set data structure to dttools.
Adds sink/source interface functions for the dag.
Explicit ancestor/descendant nodes in makeflow.