wrote tests for deploy.deployForEnv

In anticipation of adding multi-host support, I've added a test suite for `deployForEnv` so that I can extend the config format and add additional behaviour without breaking existing functionality.

I've made an attempt to match PM2's testing style as much as possible, feedback is welcome. 

Only two changes were made to `deploy.js`, one to quiet the `console.log` behaviour in the test environment, and another to make it possible to spy on `require('child_process').spawn`.

Regards,