Disable mmaps for io (double counting)
Make exit event synchronous.
Execute command directly, rather than using sh

When using sh, the monitor would count one more fork (forking sh, and
then sh forking the task to be monitoring).
Merge branch 'rmonitor_sync_exit'

Fixes from the HPDC14 paper submission.
Added hook to allow makeflow to specify WQ activate worker waiting.
Updated names for long opt.
Fixed race condition between simultaneous parrots creating the cache directory.  Check for the case where mkdir fails because the directory already exists.
Use mkdir rather than create_dir for subdirectories, to avoid n^2
traversal of the directory hierarchy.
Remove executable bit.
Merge branch 'dthain-master'

This fixes a race condition in the creation of the parrot cache directory, by
treating mkdir returning EEXIST as a success rather than a failure. This might
solve a problem reported by Matthias Wolf re CMS jobs run on multi-slot
workers.
Merge branch 'mf_wq_wait_hook' of git://github.com/nhazekam/cctools into nhazekam-mf_wq_wait_hook

Just quick update to allow makeflow to take advantage of WQ's functionality
that waits until x amount of workers are connect to disperse jobs
Fixed dumb mistake: mkdir_or_exists returns true on success.
Catch failures when getting files from worker.
Treat failure to access input files at local path
different from failure to send to worker.
Change return type of start_task_on_worker().
There is no necessity to return an integer since it handles failures and the
caller doesn't have to worry if it succeeded or failed.
Differentiate between application and system level failures when starting tasks
on workers. Propagate these failures all the way up to start_task_on_worker()
where failures are currently handled.
Use the total bytes returned as sent in debugging.
On application-level failure in sending an input file, describe the file as
missing.
Change return type of fetch_output_from_worker().
There is no necessity to return an integer since it handles failures and the
caller doesn't have to worry if it succeeded or failed.
Differentiate between application and system level failures when retrieving
output files from workers. Propagate these failures all the way up to
fetch_output_from_worker() where failures are currently handled.