configure env for the spawned process + preserve API compatiblity

First of all, 587f600 introduced backwards incompatible API change that broke unit-tests. I have changed the order of callback parameters so that the API stays backwards compatible.

The main purpose of this pull request is to allow users to specify their own environment variables.

P.S. I am not able to run the full test suite. I verified my implementation by running individual tests, i.e.

```
./node_modules/.bin/vows -m 'options.cwd'
./node_modules/.bin/vows -m 'options.env'
```