Minor change.
Set native open files to cloexec.
Fix errno handling in spawn.
Comment cleanup and review.
Make argv array of String and add some bounds checks.
dln_find_exe_r should return null when nothing found.

In MRI, this calls dln_find_1, which eventually calls stat on the
massaged path. When that fails, errno should be ENOENT and this
path returns null. In MRI, most callers take null to mean an error
and assume errno will have the proper value.
Use new spawn logic for backquote, when possible.

This allows us to get proper exit status and full behavioral
compatibility with MRI's backquote.