(#12725) Fix puppet agent --listen on Windows

Previously, running `puppet agent --listen` failed on Windows, because
we were trying to set the Fcntl::FD_CLOEXEC flag on webrick's http
access log, but Windows does not support that flag.

There are ways to prevent file handles from being inherited across
calls to CreateProcess (either disabling inheritance on a given handle
or preventing all handles from being inherited). But for now, this
commit just skips setting the flag on Windows.

This commit also re-enables spec tests that were disabled on
Windows. The thinking previously is that webrick would never run on a
Windows agent, but that's not true.
Maint: Fix bad copy and paste

The code for creating the webrick access log file was copied from
ruby's `WEBrick::BasicLog.initialize` method so that we can prevent
the file descriptor from being inherited across an exec call. However,
the pasted version changed `sync = true` to just `sync`, which doesn't
do what we want.

This commit sets the sync mode on the access log file descriptor so
that writes are automatically flushed.
Fix backups_spec, which fails if run by itself

If you run backups_spec without any other tests, it will fail due to
an incomplete expectation on FileTest.exists?.  This commit fixes it.
(#12572) Revert fix for #7106 and implement a more minimal fix

The original fix for #7106 (last_run_summary.yaml only readable by root) used
a catalog to write out the last run summary. This created extra output if
show_diff is turned on. This reverts that change, and adds a chmod call to set
the mode based on settings.
(#12572) Add acceptance test to make sure no last_run_summary diff is printed
Merge pull request #5 from pcarlisle/ticket/2.7.x/12572-last-run-summary

(#12572) Don't print a diff of last_run_summary.yaml
Merge branch 'ticket/2.7.x/12725-puppet-kick-windows' into 2.7.x

* ticket/2.7.x/12725-puppet-kick-windows:
  Maint: Fix bad copy and paste
  (#12725) Fix puppet agent --listen on Windows
Merge pull request #518 from cprice-puppet/bug/master/7316-acceptance-tests

(#7316) Initial acceptance tests
Merge pull request #524 from cprice-puppet/bug/master/fix_backups_spec_test

Fix backups_spec, which fails if run by itself
(#12188) Better handling of PID file cleanup warnings.

Previously everyone who invoked the `unlock` method of our pid file code would
duplicate all the internal logic to issue a warning, but only if we tried and
failed to delete the PID file.

This seems redundant compared to just pushing that down to the code that
actually fails, which this commit does.

Along the way it helps ensure that we don't warn unnecessarily about PID file
deletion, and adds tests to validate that.

Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
Updating CHANGELOG again for 2.7.11
(#12188) Handle Win32 as well as Unix in pidfile tests.

When I changed the testing for the PID file system I neglected to check that
Win32 would work; this makes sure the path used is absolute for the platform
the specs run on, fixing that problem.

Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
(#12572) Fix failing last run summary test on windows

This reverts the test to the previous version, which should work on all
platforms. The test didn't work on windows since /dev/null isn't special.
Merge pull request #6 from pcarlisle/ticket/2.7.x/12572-last-run-summary

Ticket/2.7.x/12572 last run summary
Merge tag '2.7.11' into 2.7.x
Merge tag '2.6.14' into 2.6.x
Merge commit '7c5d1e4' into 2.7.x
Merge branch '2.7.x'

* 2.7.x: (63 commits)
  Maint: Fix bad copy and paste
  (#12725) Fix puppet agent --listen on Windows
  (#11740) Wait on the handle from the PROCESS_INFORMATION structure
  (#12564) Stub CHILDSTATUS in all test cases, not just failure cases.
  Updating CHANGELOG and lib/puppet.rb for 2.7.11
  (#12412) Mark symbolic file modes test as pending on Windows
  Symbolic file mode test fixes when no mode change happens.
  Fix spec ordering failure on environment
  Updating CHANGELOG and lib/puppet.rb for 2.7.11
  Disable specs that use replace_file on Windows
  Disable replace_file on Windows
  Remove unnecessary fallbacks in change_{user,group}
  Document uid/gid-related methods in Puppet::Util
  Copy owner/group in replace_file
  (#12463) eliminate `secure_open` in favour of `replace_file`
  (#12460) use `replace_file` for the .k5login file
  (#12462) user_role_add: use `replace_file` for /etc/shadow
  (#12463) add secure `replace_file` to Puppet::Util
  (#12459) drop supplementary groups when permanently dropping UID
  (#12458) default to users primary group, not root, in `asuser`
  ...

Conflicts:
	lib/puppet/application/queue.rb
	lib/puppet/provider/package/openbsd.rb
	lib/puppet/util.rb
	spec/unit/network/http/webrick_spec.rb
	spec/unit/util_spec.rb
	test/lib/puppettest/servertest.rb
Updating CHANGELOG and lib/puppet.rb for 2.7.12rc1
Fix Windows test that was broken in merge from 2.7.x.