(#13429) refactor some settings initialization
This commit does the following:
- Move some of the settings initialization logic from Puppet::Util::CommandLine into the Puppet::Util::Settings class, so that it can be called by non-CommandLine code
- Rename / deprecate / clean up some methods related to parsing config files to try to promote a cleaner API for interacting with settings.
- Clean up / improve options for external tools to request puppet settings initialization.