Don't leave the temp file laying around after we're done with it
ShellCommandFailed exceptions override throw() to accept child_error param

This overridden throw() will split out the exit code, coredump and signal from
the child_error param