Merge remote-tracking branch 'upstream/3.x'

* upstream/3.x:
  Update debian ruby dependencies to include 1.9
  Add --ruby flag to install.rb
  (#13435) Use new digest code when generating a CSR
  (#13435) Use digest algorithm from CSR for fingerprint
  Replace Config::CONFIG with RbConfig::CONFIG
  Remove sbin references from install.rb
  Remove CHANGELOG file
  Update docs w/ new default logoutput value from ticket #10907
  Update puppet.spec, bump required ruby to 1.8.7
  Set ca_location in ca face
Merge branch '3.x'

* 3.x:
  Pass wrapped real scope to DataBinding
  Updating lib/puppet/version.rb for 3.0.0-rc7
  Removing hiera-puppet dependency from project_defaults
  (#13435) Use SHA256 for puppet agent --fingerprint
  (#13435) Convert digest to string in cert interface
  Remove svn specific code from install.rb
  Remove references to CHANGELOG in packaging
Merge branch '3.x'

* 3.x:
  (maint) Fix Failed to load face errors
  (#15214) Remove confdir and vardir from run_mode
  Revert "Merge branch 'revert/3.x/faces_from_modulepath' into 3.x"
Merge branch '3.x'

* 3.x:
  Extract methods from set_default_parameters and improve test coverage
  (#16221) Make undef not override default parameters
Merge remote-tracking branch 'upstream/3.x'

* upstream/3.x:
  Revert "Merge branch 'fix/3.x/7316_load_faces_from_modulepath_try3' into 3.x"
Merge branch '3.x'

* 3.x:
  (#16567) Remove :lexical setting default
  Stub DataBinding in undef param tests
  Revert "Merge branch 'fix/3.x/7316_load_faces_from_modulepath_try3' into 3.x"
Merge branch '3.x'

* 3.x:
  (Maint) Remove rspec from shebang line
  Update description of HTTP/HTTPS report
  Updating PUPPETVERSION for 3.0.0-rc8
  Update default cows and mocks
Revert "Revert "Merge branch 'fix/3.x/7316_load_faces_from_modulepath_try3' into 3.x""

This reverts commit ef3fe695fd0be5ff2b5aeb563f34f62a0f503831.
(#7316) Add spec coverage for Puppet::Application::Master#app_defaults

Without this patch we don't have any spec test coverage for the
app_defaults instance method of the Puppet::Application::Master class.
This lack of coverage is problem because cherry picking the confdir and
vardir patch from PR-882 in commit b064ee63 appears to work just fine
after resolving the merge conflicts.  Things were not fine, however,
because the app_defaults method makes a call that raises an exception
and none of our spec tests caught this issue.

The acceptance tests did, however, by exercising the command `puppet
master --configprint pidfile`
(#7316) Do not set default values for confdir and vardir in the master

Without this patch applied `puppet master` will explicitly set the value
for confdir and vardir inside of
Puppet::Application::Master#app_defaults.  This is a problem because
it calls a method that does not exist while trying to do so.

This patch fixes the problem by implementing the intended behavior
documented in #15337, and specifically in commit 38cba0a.  This intended
behavior is:

  1: If provided, use explicit puppet.conf in `--confdir`
  2: If root, use system puppet.conf
  3: Otherwise, use ~/.puppet/puppet.conf
Merge branch '3.x'

* 3.x:
  sample_module.pp refactored text: include sample-module into include sample_module
  This will fix Refactor #16643.
  Update lib/puppet/version.rb for 3.0.0
(Maint) Pull config file parsing into a class

The parser for config files used to be tied up with all of the other
logic for handling configuration settings. This takes the first step in
encapsulating that parsing into a class that is dedicated to just
parsing a configuration file.
(Maint) Move config file parser to its own file

This extracts the config file parsing into its own class so that is can
be worked with independently of the rest of the settings system.
(Maint) Create a config file parser only once
(Maint) Raise a Puppet ParseError instead of a RACC::ParseError
(Maint) Add test coverage around config file parsing

This adds coverage for, I think, all of the config file structure
parsing behavior. Since the value transformations are not currently part
of this parsing code, they are not taken into account.
Merge pull request #1195 from zaphod42/maint/master/split-up-settings

(Maint) Split out config file parsing
Merge pull request #1190 from jeffmccune/fix/master/7316_load_faces_from_modulepath_try4

(#7316) Do not set default values for confdir and vardir in the master

Conflicts:
	lib/puppet/settings.rb

Merge conflict config file parsing related to a disallowed section replicated
in the config_file.rb parser.
(Maint) Clean up config file parsing

The main loop of parsing the config file has a lot of error handling
directly in it. This makes it harder to follow the main flow and less
obvious what it is doing. This pulls out some of that checking and
removes duplication around creating a new section.
(#4388) Remove the dead `authconfig` setting

As of commit 4b6db1c6f3bb383d8309c5d98cb6236862caf085 or so, this setting is
no longer referenced anywhere in the Puppet code. It used to point to the
namespaceauth.conf file, which we no longer consult for any purpose. The setting
should go away.