(#21055) Ensure that only logging is used after daemonization

When the point at which streams are closed was changed from
Puppet::Daemon#start to Puppet::Daemon#daemonize the error message for
onetime would be lost. This is made slightly more obvious (although
admittedly not much) by pulling daemonization as close as possible to
where it is finally started. The lost message is then solved by switching
from $stderr.puts to Puppet.err for issuing the message.