Use a preexec function to stop signals in subprocess

To avoid the subprocess from getting the signals that are
meant for the parent process by ensuring that the created
process is its own process group (which ensurse that it will
not get signals targeted for the calling process).

Fixes #16