Add caching section to Parrot manual.

Fixes #327.
Add option --recheck-file-creation.

To handle NFS semantics, this option tells makeflow not to fail
if a file from a succesful job is not immeditely available. Makeflow
retries for the file before failing.
Merge remote-tracking branch 'ccl/pull/646/head'

* ccl/pull/646/head:
  Add caching section to Parrot manual.
Allow user to set tries/wait time
Merge pull request #647 from btovar/patience_nfs

Add option --recheck-file-creation.
Added all: target so default make does nothing with apps
Merge pull request #649 from nhazekam/apps_make

Added all: target so default make does nothing with apps
Simplifies recheck option for NFS.

I don't know what I was thinking. Simplifying from three command line
switches to one. Now use:

--wait-for-files-upto=<n>

to wait upto n seconds for files to appear at the filesystem running
makeflow.
This whole commit comes from spectool branch

The reason to create this special branch is that parrot_package_run is
broken due to the introduction of native-fd branch.
set the schema of software db
Download, checksum, uncompress dependencies
Change the format of specification, for each software, the user should specify the version, distro.

Some software, like git, after compiled, you can not rename the directory, you can not move it.
Add environment construction; mountlist construction
Rename files
New specification: allow the user say I want to run cmsDriver.py on
CMSSW_5_3_11 of slc5_amd64_gcc462
add scripts for local and condor execution engines
modify db schema
Add local application parser
local execution engine done
Local test passing!