(#5246) Puppetd does not remove it's pidfile when it exits
The Puppet::Daemon instance sets up the pid file when it starts
but it's up to the user of that object to arrange for stop to be
called
There are signal handlers setup to call stop but in a onetime run
those are never called
This change arrange for the stop method to be called after a onetime
run is done but do not hand the task of exiting the application over
to that so that the agent application can handle the report status
based exit codes