child_process: (Issue #7456) spawn() does not throw TypeError

Fixes issue #7456, Ensures TypeError is thrown, fixes
a bug where `env` option was assuming the option was
actually an object.

This case is especially bad because it then
sets `env == null` instead of using `process.env`.
@trevnorris @binarykitchen