fix(signal handling for child process) (#4290)
### Description
Fixes #4227
As mentioned in the issue if a child process gets killed via signal, Go
will report the exit code as `-1`. This causes issues as turbo will take
the highest exit code which if all other tasks are successful will be
`0`.
### Testing Instructions
Opted for manual testing here as writing a test scenario for this would
either require some code shuffling for a unit test or a convoluted
integration test.
- See repro described in #4227
- Verify that turbo now exits with `1` if a child process got killed:
