msgd: use synchronous signal delivery with signalfd()

this is the way it will be done with the zeroMQ zpoll() reactor, and
it avoids a problem with syslog() use from a signal hamdler.
Fixup for 17b665d5:  remove 'sleep' hack & fix race condition in tests

17b665d5 was a failed attempt to hack around a race condition by
lengthening a 'sleep'; this simply made the problem appear less
frequently.

The problem only occurred in the toolchanger/toolno-pocket-differ/*
tests.  Comparing with other successful linuxcncrsh-based tests turned
up 9748fe92 and the "set wait done" command, which clears up the
problem, even with the original 'sleep' hack removed.