Enable config specification of signal_daemon

Previously, there was no mechanism by which users could choose what
method the runonce action would use to initiate a run. This caused
problems because the default on Posix platforms, when the daemon was
found to be running, was to signal the daemon. This method of triggering
a run disallowed any custom options to be passed, such as noop or
environment.

This commit exposes signal_daemon as a configuration parameter, but does
not change the default.
Change signal_daemon default from true to false

When signaling the daemon there is no opportunity to invoke
customization, such as noop or environment. It may have made sense at
one point to signal the daemon by default, but these limitations and no
significant downside to simply calling `puppet agent [args]` mean we
should not default to using the signaling method. User expectation is
that passing noop or environment should work out of the box, and will
already be running as a daemon in most scenarios, rendering
signal_daemon=true a degraded experience.

tl;dr: don't use a degraded experience by default.

Credit to Chris Barker for originally hunting this issue down and
providing proof-of-concept fix.