child_process: check execFile args is an array

execFile and spawn have same API signature with respect to optional arg
array and optional options object, they should have same behaviour with
respect to argument validation.
child_process: check fork args is an array

Optional fork args should be type-checked with same behaviour as the
equivalent argument to spawn.
fixup! thoroughly test all parameter positions