Fix for #3984 -- SELinux warns about changes it doesn't actually make

Volumes that don't suport SELinux should be considered in_sync so they don't
generate spurious change notice.

Patch from Darrell Fuhriman
Add stdin parsing to puppet parser validate
(#11727) Support STDIN for `puppet parser validate`

This adds an acceptance test for the STDIN validation feature of the `puppet
parser validate` action.

Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
Maint: Fix borked help/man output for node clean

This action's help was busted:

* You can't put bulleted lists in the description string of an action. It blows
  up the man page formatting.
* Description must begin with a description of the action, not a continuation of
  the summary; otherwise it makes the output of 'puppet help cmd action' useless.
* The description of how unexport works wasn't sufficiently clear.
(#15731) Full certificate metadata for pson

When attempting to get certificate metadata using the REST API, the API
returns a different set of metadata based on whether one requests yaml
or pson, neither of which are the full set of metadata.
This commit adds dns_alt_names/subjectAltNames to the metadata for pson.
(#15731) explicit fingerprint digest for pson

The pson metadata for a certificate (or certificate request) contains a
fingerprint which was created with the default digest algorithm. This
algorithm must change as we move to FIPS 140-2 compliance because MD5 is
explicitly denied.
This commit includes fingerprint metadata for 3 stronger hashing
algorithms and explicitly calls out that the fingerprint is for that
algorithm.
(#15920) Make forward-sexp ignore comments in puppet-mode.el

Enables parse-sexp-ignore-comments.

Previously forward-sexp was broken by comments with unterminated
strings. E.g. with the following manifest:
  foo {
    # won'
  }
forward-sexp on the opening brace would get:
  forward-sexp: Scan error: “Unbalanced parentheses”

The problem got introduced in commit
1c02749e8b54616043f728ed18ddec1dc4353a2d (Committed patch from #1160).
maint: Rearrange tests in useradd unittests

Tests are now ordered by method, so if modifications have to be done
done in the provider code, it will be easier to track the according spec
tests that have to be changed.
maint: Reduce stubbing in useradd spec

It seams to be more reliable to work with real objects instead
(#15959) Do not support system user on Solaris and HP-UX

According to

http://docs.oracle.com/cd/E19963-01/html/821-1462/useradd-1m.html
http://nixdoc.net/man-pages/hp-ux/man1/useradd.1m.html

neither Solaris nor HP-UX support the -r switch to create system users
so the useradd provider should not claim to support system_users on
these platforms.
maint: Rearrange tests in groupadd unittests

Tests are now ordered by method, so if modifications have to be done
done in the provider code, it will be easier to track the according spec
tests that have to be changed.
maint: Reduce stubbing in groupadd spec

It seams to be more reliable to work with real objects instead
(#15959) Do not support system group on Solaris and HP-UX

According to

http://nixdoc.net/man-pages/hp-ux/man1/groupadd.1m.html
http://docs.oracle.com/cd/E19963-01/html/821-1462/groupadd-1m.html

neither Solaris nor HP-UX support the -r switch to create system groups
so the groupadd provider should not claim to support system_groups on
these platforms.
(Maint) Enable colorized rspec output on Windows

Commit `83cfe9d` added colorized rspec output by default. Unfortunately,
this doesn't work on Windows and causes ANSI escape characters to be
printed to stdout.

Although we load the `win32console` gem while requiring puppet, rspec
always writes to `$stdout` and `$stderr` that it was started with. So
later when the `win32console` gem overwrites those streams, the formatters
have already been created with the old ones.

This commit modifies the spec helper to reset the stdout and stderr
streams on the configuration object, as well as each of the formatters.
Unfortunately, the formatter does not expose an accessor for its output
variable. I tested with 2.9 and 2.11, and both work as expected, i.e.
color on Windows.

This commit doesn't change behavior on non-Windows platforms.
(#15731) Move explicit fingerprints to hash

Move the explicit fingerprints for certificates and certificate requests
to a hash within the normal pson data. This commit makes the format of
the pson:
{
  ...
  fingerprint: <current fingerprint algorithm>
  fingerprints: {
    default: <current fingerprint algorithm>
    SHA1: <sha1 fingerprint>
    SHA256: <sha256 fingerprint>
    SHA512: <sha512 fingerprint>
  }
}

Clean up the tests to reduce duplication and improve clarity of what is
actually being tested in each case.
Merge pull request #1081 from joshcooper/maint/2.7.x/rspec-color

(Maint) Enable colorized rspec output on Windows
Merge pull request #1020 from gleb/ticket/2.7.x/15920_fix_sexp_ignore_comments_in_puppel_el

(#15920) Make forward-sexp ignore comments in puppet-mode.el
maint: remove .rspec entirely

There isn't much good reason to force a set of rspec options on everyone,
especially because these override any user configuration.

If you really want to configure the way rspec works, modify ~/.rspec instead.

Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
Merge pull request #1083 from daniel-pittman/maint/2.7.x/no-dot-rspec

maint: remove .rspec entirely
(#15591) Skip test that causes segfault on Windows

Previously, this test would segfault on Windows with ruby 1.8.7 p370, but
not p334. The test can never work on Windows as currently written
(Kernel.fork). And we can't mark it as pending, because rspec attempts to
run the test, expecting either a failure or exception, but ruby segfaults.
So we have to skip entirely on Windows.

Note in the merge up to 3.x, this spec file has been removed.