Update acceptance tests to use confine instead of skip_test loops

Now that the test harness supports confine :except, :platform = 'windows'
(and the like), update the tests to use that syntax.
Revert changes to symbolic_modes.rb -- this test should indeed be pending
(it should eventually work on Windows).
Remove EL-related test changes from this commit.

These changes will go to the 2.6.x branch instead.
Change one test to use the new confine syntax.
(#3909) Strip trailing dot from default FQDN

In Facter pull request 200 the default domian can no longer end
with a trailing '.'. This modifies Puppet's defaults to mirror
that change.
(#3909) Move default certname logic to Puppet::Settings

Move certname logic out of defaults.rb so that the logic can be
tested because it's nearly impossible to test when that logic is
executed at readtime for defaults.rb.
(maint) Make Puppet have hard dependency on Facter 2.0

Puppet 3.0 requires Facter 2.0. Make the dependency hard and have Puppet
fail with a useful error message if Facter doesn't exist or is the wrong
version.
(maint) Change Facter dep from exit to raise

Rather than hard exiting from anything that happens to include Puppet
with an incorrect version of Facter, we'll instead raise a
Puppet::Error.
Update CHANGELOG puppet.spec for 2.7.15rc2
Merge branch '2.7rc' into 2.7.x
Updating CHANGELOG, conf/redhat/puppet.spec, conf/redhat/rundir-perms.patch, and man pages for 3.0.0rc1 release.
Re-enable this test to work on windows

The reason the test wasn't working and why it was changed to not execute
was that the test environment was mis-configured (the hostname of the
windows agent was different from what the puppet master knew as that
machine's name).
(maint) Add data binding Hiera tests

This patch adds tests for Puppet's support for looking up class parameter
values from Hiera via the data binding indirection.
Merge pull request #801 from kelseyhightower/maint/3.0rc/add_databinding_acceptance_tests

(maint) Add data binding Hiera tests
initial prototype for acceptance test libraries

* Adds a "helper.rb", which you can use by adding "--helper" to your
  call to systest.rb.  Current implementation doesn't do anything
  except for add puppet/acceptance/lib to your LOAD_PATH, which
  gives you the ability to do "require 'puppet/acceptance/*'" from
  within your tests.
* Adds acceptance/lib/puppet/acceptance/temp_file_utils.rb, which
  contains a bunch of utility methods for dealing with temp files,
  file permissions, etc. from within your acceptance tests.
* Modifies "7316_apps_should_be_available_via_pluginsync.rb" to
  use this new library instead of manually defining all of the
  utility methods.
Refactor acceptance tests to use util library

This commit adds utility methods to "temp_file_utils.rb"
and refactors all the tests that were duplicating these
utility methods to use this library code instead.
Merge pull request #799 from zaphod42/maint/master/enable-test-for-node-and-enc-on-windows

Re-enable this test to work on windows
(#14514) Check for the presence of hiera config

Puppet initializes Hiera using a configuration Hash instead of a
configuration file. Puppet now checks for the existence of the hiera
configuration file and uses an empty configuration and logs a warning
if missing.

We also ensure Hiera uses the Puppet logger by overriding the
configuration hash to set the logger explicitly.

This patch includes updated specs.
Merge pull request #803 from kelseyhightower/ticket/3.0rc/14514_use_default_config_when_hiera.yaml_is_missing

Ticket/3.0rc/14514 use default config when hiera.yaml is missing
(#14609) Fix master initialization when running under Passenger

There is some initialization that happens in CommandLine.rb
(such as parsing the puppet config file) which was being
bypassed when launching puppetmaster as a Rack/Passenger app.

This commit tweaks the rack config to call into CommandLine
directly, which is unfortunate but works for now.