Execute the command in its own process group whenever possible

This allows to kill subprocesses spawned by the command with :

    kill -SIGKILL, $cmd->pid;
bring back System::Command::Reaper

this deals properly with the zombies that are created when using:

    my $fh = System::Command->new( ... )->stdout;
Revert "update the scope tests, now that System::Command::Reaper is gone"

This reverts commit 236c9f995ee02a290964b5cce2be5173a5a5265e.

And brings back the tests for the timely destruction of the reaper.
remove TODO status on the test on the absence of zombies