Use socketpair to detect parent death.

Parent death can now be detected immediately, rather than waiting for the
next message to be processed. This is also used during orderly shutdown.
Only import pysigmask if we're going to use it.

Pysigmask uses ctypes to load `libc` and look for `sigprocmask` and friends
on import, which causes the import to fail on Windows. Non-forking sparkplug
is supposed to run on Windows, so that shouldn't interfere with Sparkplug's
startup.