I added two header files("dttools/src/buffer.h" and "dttools/src/md5.h") into the "PUBLIC_HEADERS"of the "dttools/src/Makefile" file. In this way, the "HOWTO: Write Code that Uses Chirp" on our website will be executed well.
Revert "Modify work_queue to create "cache" and "uncache" subdirectories to handle cacheable and uncacheable files."

This caused us to break both forwards and backwards compatibility, and we figured out a better way to achieve the same goal

This reverts commit f90b39f1a088125b6c1ea41d3dbbb42b40752dfc.

Conflicts:
	work_queue/src/work_queue_worker.c
Alternative fix for name colisions between cached and uncached files.
Less protocol-breaking than f90b39f1a08.

This adds ".cached" to the end of each cached file when stored in the cache directory.
It effectively creates a separate namespace for files declared as cacheable that cannot
be impinged upon by uncached files, and vice-versa.
Adds symlink alternative to link_file_in_workspace().
If "link()" fails due to a permissions or cross-device error, we will now try to symlink the file instead.
This is a partial fix for issue #140
Check for duplicate remote filenames across both input and output files.
If duplicates are specified, throws an error and prints an error message explaining the problem.

Final fix to issue #140
Band-aid for issue #64.

This prevents a task from clogging the queue, but doesn't address what we should do if a task cannot be run by any worker, and doesn't intelligently schedule tasks that are resource hogs.
Added printf attribute to buffer_printf, and fixed corresponding type mismatches.
Added printf attribute to link_putfstring, and fixed corresponding type mismatches.
Added printf attribute to send_master_message, and fixed corresponding type mismatches.
Added printf attribute to send_worker_message, and fixed corresponding type mismatches.
Added printf attribute to buffer_format, and fixed corresponding type mismatches.
Added printf attribute to debug, and fixed corresponding type mismatches.
Define __attribute__ if !__GNUC__ or !__clang__.
Casts for varargs in pfs_*
Merge pull request #169 from btovar/dthain-varargs-cleanup

Dthain varargs cleanup
whitespace
Ignore work_queue_pool.
New path library for dttools.

Moves some old path specific functions from stringtools to the new
namespace. Some cleanup of old functions with tests. Also a new useful
path_absolute function.
Corrects path handling in Chirp.

Chirp now always operates from the root directory.
Fix some bugs with path handling.