handle error code > 128 in system_raw like system_piped

some shells, such as csh and fish, return a different exit code format from sh, bash, which subprocess.call doesn’t properly transform.

closes #5217
I think there should be an `else: del os.environ['SHELL']` here, so that we don't leave SHELL modified in the case where it wasn't already set.