(#22938) fix Windows tests for symbolic file modes

 - lower nibble must be set to 4 for Ruby to properly be able to return
   the file mode under Windows
(maint) Ensure that the autosign setting is validated.

Original patch by Patrick Hemmer <patrick.hemmer@gmail.com>
(#7244) Add autosign_command for programmatic CSR autosigning

This commit adds support for delegating control of autosigning to an
outside command. This allows users to define their own criteria for
signing CSRs. This commit adds a new setting, 'autosign_command', for
the command to use for testing CSRs, and extends the logic of the CA to
test for autosigning based on both the 'autosign' setting and the
output of the autosign_command.

Original patch by Patrick Hemmer <patrick.hemmer@gmail.com>
(maint) Extract common ssl setup for acceptance tests

Extracts cert initialization from git/package certificate provisioning,
and common ssl reset steps from the autosign_command and
puppet_cert_generate_and_autosign tests into the
puppet/acceptance/common_utils helper lib.
Merge pull request #2053 from Iristyle/ticket/master/22938-fix-mode-test-windows

(#22938) fix Windows tests for symbolic file modes
(maint) more explicit stdout tests for autosign_command acceptance

We were assert_no_matching for the same string in both cases; instead
assert_match output for more surety.
Merge pull request #2022 from adrienthebo/feature/7244/add_autosign_command

(#7244) Add autosign command
(maint) stub $CHILD_STATUS for autosign_command specs

Without this commit, the value of $CHILD_STATUS in the autosign_command specs
is not stubbed, so is dependent on the return value of the last command in the
specs. This can lead to spurious test failures because this leaks
information between tests. This commit stubs the $CHILD_STATUS global
variable so that the autosign_command tests are always isolated.
Merge branch 'maint/master/autosign_command-solaris-specs'
Merge branch 'master' of https://github.com/puppetlabs/puppet