Fix bug in idle timeout for foreman.

Conflicts:
	work_queue/src/work_queue_worker.c
Handling duplicate remote filenames in WQ

This is very minor but it affects the user. Right now, we check for
duplicate remote filesnames for both inputs and outputs in
task_specify_file() and throw an error if so.

This makes sense for input files when two different files are being
mapped to the same remote filename. But this isn't the case for output
files because a single remote file is being mapped to two different
filenames.

In this fix, for outputs - we check for duplicate local filenames with
different remote names.
inputs - we check for duplicate remote filenames with the different
local filenames.

Throw error on duplicate remote filenames only if their local filenames are different.

For output files, check for the case where two different remote files are being mapped
to the same local filename.

Remove checks for the return value of specify_file() so the example is backward
compatible with older versions of our software.
Backport: allpairs: Check for return value of specify_file/buffer and return on failure.

Conflicts:
	allpairs/src/allpairs_master.c
Worker shouldn't fail and disconnect if a file is already linked into a task's
sandbox. Because that is not the worker's fault.
Bump to 4.0.3
Read PARROT_TEMP_DIR value
Bug fix when naming wq resource summary files