Preserve signal exit statuses in timeout
Preserve signal exit statuses in timeout

When the monitored process exits, the GNU version of timeout will
preserve its exit status, including the signal state.

This is a partial fix for timeout to enable the tee tests to pass.  It
removes the default Rust trap for SIGPIPE, and kill itself with the
same signal as its child exited with to preserve the signal state.

uutils/coreutils,uutils/coreutils,uutils/coreutils