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.
Add python bindings for resource monitoring API and APIs introduced in
hierarchical WQ commits.
Adds set data structure to dttools.
Adds sink/source interface functions for the dag.
Explicit ancestor/descendant nodes in makeflow.
Adds testing for set data structure.