Replaces # SYMBOL with task categories.
Added support for password authentication between master and worker.
Updated copyright boilerplate.
Combined all uses of srand into a common random_init().
Changed all isntances of srand to random_init().
Small fixes for work queue authentication.

- Added -P as an option to work_queue_worker to indicate the password
  file.
- Updated documentation to make clear the difference between the
  password file and the password itself.
- copy_file_to_buffer behaves like other functions in copy_stream.
Remove debugging fprintf from copy_file_to_buffer.
Added docs for the simple group management feature.
Fixed incorrect function name in example.
Added work_queue:specify_password_file() and updated docs to demonstrate it.
Merge pull request #7 from dthain/master
Adds work_queue_enable_monitoring function.

This function replaces work_queue_create_monitoring. Instead,
work_queue_enable_monitoring is called with an existing queue.
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.