fix: handle code-less errors more carefully in exec (#554)
fix: handle code-less errors more carefully in exec (#554)

If an error exists, but has no error code, it defaults to 1 (a common code for
most Unix commands). Tests have been omitted since this is an edge case that is
difficult to reproduce.

Fixes #536
psema4/shelljs,arturadib/shelljs,shelljs/shelljs,freitagbr/shelljs