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.
(#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) Update version of puppet listed in gemspec

This also updates the required facter version to reflect what v3.0.0
needs
(#15966) Update packaging files for 3.0.0rc4

This bumps the version built to 3.0.0-0.1rc4 per convention.
The RH and suse spec files' facter version dependencies are also updated.
(#15966) Update README.me for correct facter version dependency

We're not requiring facter 2, just a reasonably-recent 1.6.
(#15966) Update gem.rake task for correct facter version dependency
Merge pull request #1069 from ahpook/15966_facter_version

(#15966) Update facter version dependencies and build versions for 3.0.0rc4
Updating CHANGELOG, PUPPETVERSION for 3.0.0-rc4
(#6143) ensure that destroy works for zpools

Previously the method was named delete rather than destroy.
Merge pull request #1070 from vrthra/ticket/3.x/6143_fix_zpool

(#6143) ensure that destroy works for zpools
(#15739) Bump report_version since #10064 change its format

With #10064, we changed the report format to include the
environment. However that patch did not bump the report_version
and it should have.  This retroactively bumps the version
without changing the format, which might be bad too, but it'd
be worse to change it again...
Merge branch '15739_report_format_version' into 3.x

* 15739_report_format_version:
  (#15739) Bump report_version since #10064 change its format
(#15739) Bump report_version since #10064 change its format

With #10064, we changed the report format to include the
environment. However that patch did not bump the report_version
and it should have.  This retroactively bumps the version
without changing the format, which might be bad too, but it'd
be worse to change it again...
Merge branch 'backport-15739_report_format_version' into 2.7.x

* backport-15739_report_format_version:
  (#15739) Bump report_version since #10064 change its format
Move singleton require to puppet/util/storage.rb
(#16137) Ensure HOME is set before attempting ~ expansion
(Maint) Remove trailing whitespace
(#16137) Tilde expansion should only occur for normal users

The previous fix for #15185 caused File.expand_path to be called on
the user default config and var directories even when running as root.
This caused puppet starting as a service to fail because the HOME
environment variable is not set when most services are started.

This change ensures that the File.expand_path will only happen on a path
with a '~' when we are running as a non-root user, in which case the
HOME env var should always be there. As a part of untangling this code,
this also teases apart the Windows path handling from the Unix path
handling and allows us to use the more "Windowsy" path for the user's
local directories.
Merge pull request #1080 from zaphod42/ticket/3.x/16137-unable-to-start-puppet-as-a-service

(#16137) Tilde expansion should only occur for normal users
(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.