(PUP-3126) upgrade win32-service to 0.8.6

This upgrades the win32-service gem to at least 0.8.6 to take advantage
of the fixes to the service gem. This change includes only the fixes that
we have already applied patches to in puppet-win32-ruby.
Merge pull request #3128 from ferventcoder/ticket/stable/PUP-3126-upgrade-win32-service

(PUP-3126) upgrade win32-service to 0.8.6
(PUP-3126) Bump vendored gem dependencies

Include win32-service 0.8.6 when building MSIs.
(PUP-2647) Report when password is changed

Previously, if Puppet changed the user's password, it would always
report that the password was created, instead of changed. This was because
the provider's `password` getter method returned :absent when the current
password didn't match the desired value.

This commit changes the windows user provider to return nil if the
passwords don't match. This will cause puppet to sync the passwords
and correctly report that the password was changed.
(docs) Move user-facing docs for reinstall_on_refresh into user-facing doc string

These docs, intended for users, were in a comment where only developers would
ever see them. This commit moves them into place so they'll appear in the type
reference, and restores the original developer-facing comment for the parameter.
(maint) Capture scripts used in pe-puppet acceptance jobs

These can be used (if edited) to run pe-puppet acceptance for manual
testing.
(maint) Allow a two node config for a re-run

And allow setting of host platform.
(maint) Update the ci-pe-puppet scripts for puppetserver
(PUP-3277) Add acceptance tools for communicating with Classifier

On a master configured with the new Classifier, we need to be able to
interact with the Classifier on behalf of tests which expect their
agents to be able to specify the environment.  This commit adds tools to
support this.
(PUP-3277) Update environment tests for default directory env conf

Currently the acceptance tests assume that Puppet is not configured with
an environmentpath set.  This will change in Puppet 4.0 and the tests
need to be adjusted to be more intentional about how they configure
their environment, whether for a legacy or a directory environment setup.
(PUP-3277) Change tests using legacy envs to directory envs

Puppet 4.0 will remove support for legacy environments, and acceptance
tests relying on setting manifest/modulepath directly are being updated
to instead set up a production directory environment.
(PUP-3277) Change hiera lookup tests to use a temp production direnv

The hiera tests were placing some test data in the default configuration
paths and some in temp directories, and were relying on the manifest and
modulepath settings.  These settings are deprecated and will be removed.
The tests now setup all configuration in a temporary directory for
consistency and isolation, and make use of environmentpath instead.
(PUP-3277) Point pluginsync tests to an environmentpath

Pluginsync tests were relying on the deprecated manifest/modulepath
settings.  Most changes were a minor reset of base testdir path to an
environmentpath directory.  Changes to the
files_earlier_in_modulepath_take_precendence were similar but required
more test file setup.
(maint) Fix cve-2013-4761 acceptance test

The acceptance test was removing the file that would have been executed
by the exploit, and was therefore passing regardless of the state of the
bug. Fixed so that the exploit file creates a separate exploited marker
file, and the test removes and checks only the marker file.
(PUP-3277) Change cve test to use environmentpath

This test was relying on the deprecated manifest setting and has been
rewritten to use environmentpath.
(PUP-3277) Disable PE MCollective group in ssl tests

When the tests are run in PE, the PE MCollective group adds a class for
manging MCollective resources an any PE agent node.  This interferes
with ssl tests which are testing initial cert generation and signing,
because PE attempts to reset the MCollective cert for the agent, and the
MCollective configuration on the agent to match.  By instead using the
classifier_utils helper to temporarily disable this group for the test
nodes, we can test the cert generation in isolation.
(maint) Fix cve-2013-4761 acceptance test

The acceptance test was removing the file that would have been executed
by the exploit, and was therefore passing regardless of the state of the
bug. Fixed so that the exploit file creates a separate exploited marker
file, and the test removes and checks only the marker file.
(PUP-3277) Change ticket_7117 env/auth.conf test to use environmentpath

This test has been removed from master, but remains in stable and is
being updated to use environmentpath as part of the general work
preparing acceptance for puppet configurations with environmentpath set
by default.
Merge branch 'issue/stable/pup-3277-fix-acceptance-for-default-directory-env-configuration' into stable

* issue/stable/pup-3277-fix-acceptance-for-default-directory-env-configuration:
  (PUP-3277) Change ticket_7117 env/auth.conf test to use environmentpath
  (maint) Fix cve-2013-4761 acceptance test
Merge branch 'issue/master/pup-3277-fix-acceptance-for-default-directory-env-configuration'

* issue/master/pup-3277-fix-acceptance-for-default-directory-env-configuration:
  (PUP-3277) Disable PE MCollective group in ssl tests
  (PUP-3277) Change cve test to use environmentpath
  (maint) Fix cve-2013-4761 acceptance test
  (PUP-3277) Point pluginsync tests to an environmentpath
  (PUP-3277) Change hiera lookup tests to use a temp production direnv
  (PUP-3277) Change tests using legacy envs to directory envs
  (PUP-3277) Update environment tests for default directory env conf
  (PUP-3277) Add acceptance tools for communicating with Classifier
  (maint) Update the ci-pe-puppet scripts for puppetserver
  (maint) Allow a two node config for a re-run
  (maint) Capture scripts used in pe-puppet acceptance jobs