Feature/fix child process type checking

https://github.com/joyent/node/pull/8392 introduced a test that doesn't fail when the code it is testing is deleted.

Also, behaviour of execFile and spawn have drifted apart again, unnecessarily, I think. This brings them into line again.

/to @cjihrig  
Even before my changes, I think this test was a bit overkill. It intentionally ran a bad command and passed in bad arguments to make sure that the `TypeError` was thrown, and the invalid command error wasn't encountered. A simple `assert.throws()` like you've done would have been simpler. I'm fine with getting rid of this code.

Would you mind removing the the `errors` variable and the `process.on('exit', ...)`?