Three changes:
1. We neglected to forward stderr from Rosenpass subprocess two
in the API setup integration test (driveby fix)
2. Added rudimentary signal handling for program termination
to rosenpass, specifically for the coverage reporting
3. Apparently std::process::Child::kill() sends SIGKILL and not
SIGTERM, so our nice new signal handler was never used.
Switched to a rustix based child reaper.
(2) and (3) where necessary because llvm-cov does not produce coverage
when a subprocess terminates due to a default signal handler.