Bug fix record of time_send_input_finish
Fix a bug where argv[0] was not set correctly.

Haiyan encountered a problem in a CMS application caused by linking failures
because the application was ultimately using argv[0] to look for libraries
(Python modules in this case). Unfortunately, there's is a bug where we assumed
that ld-linux.so does not replace argv[0]. So what we were doing was:

    execve('ld-linux.so', ['logical-exe', 'physical-exe', ...], [...]);

However, the argv that is ultimately given to the application is:

    ['physical-exe', ...]

what we wanted was:

    ['logical-exe', ...]

When the 'physical-exe' refers to an executable cached by Parrot, this will not
make sense to the application (Python), causing a failure.

Haiyan did most of the work in isolating the cause of this problem.
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!
Change the name to layer_cake
rm version1.json version1
Give software the OS information
Rename softwrae DB
add ec2 resource db
Add ec2 batch_type