Replace custom env variable parsing with proper shell execution

Because env parsing is unreliable at best, and executing the command
using child_process.exec and the proper env variables lets the shell
do its thing.

By using child_process.exec, we also get the benefit of allowing
quoted arguments and subshell execution like the following:

`web: sh -c 'supervisor -e "node|js|json" ./server.js'`

Previously the whitespace splitting wouldn't take quoted arguments
into account and the command would fail.

Signed-off-by: Evan Owen <kainosnoema@gmail.com>
Fix fs.existsSync for backwards compatibility with Node v0.6.x

Everything else seems to work fine with v0.6.x, and the package says
we should be supporting it.

Signed-off-by: Evan Owen <kainosnoema@gmail.com>
merged with kainosnoema/node-foreman/tree/simplify-envs
fixed merging
fixed upstart templates so they also work with ubuntu 10.04
current working directory is set to path of Procfile and added parameter to change it