(#12403) Refactor duplicate log setup
Previously, the code for setting up the default log destination was in
the base Puppet::Application class and various application
subclasses duplicated the code in their setup_logs method.
This commit refactors the code for setting up the default log
destination, and modifies the subclasses to invoke the method of their
superclass.
This change is being done in preparation for changing the default log
destination on Windows.