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).
(#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
(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.
(#16137) Delay evaluation of config and var directories

Previously, the tests were failing when running as root (on Windows),
because we were evaluating the config and var directory locations before
stubbing `Puppet.features.root?`.

This commit uses a let block to delay evaluation until after we've stubbed
root or not.
Maint: Make paths absolute on Windows

Previously, the tests were failing, because we were expecting paths of the
form `/etc`, but the puppet settings code expands them. So we expand the
expected value to match.
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
Merge pull request #1076 from gsamokovarov/move-singleton-require

Move singleton require to puppet/util/storage.rb
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>
Maint: Use pending block

This commit removes the `fails_on_windows` filter in favor of a pending
block. This way we document what tests don't currently pass on Windows,
and it ensures that the test fails or raises. If the test runs without a
problem, the test will be reported as a failure, so that we know the test
is no longer pending.
Merge branch 'ticket/3.x/16137-windows-build' into 3.x

* ticket/3.x/16137-windows-build:
  Maint: Use pending block
  Maint: Make paths absolute on Windows
  (#16137) Delay evaluation of config and var directories
Merge pull request #1083 from daniel-pittman/maint/2.7.x/no-dot-rspec

maint: remove .rspec entirely
Merge pull request #944 from nfagerlund/maint/2.7.x/node_clean_help

Maint: Fix borked help/man output for node clean
Update CHANGELOG, version.rb, redhat.spec for 3.0.0rc5
Whitespace only cleanup
(Maint) Stop watchr from reading non-existent spec.opts

Without this patch the watchr auto-testing script attempts to read the
spec.opts file.  This is a problem because the file no longer exists in
the repository which causes watchr to fatally error out.

This patch fixes the problem by simply removing the code replacing it
with a comment to use a personal ~/.rspec file instead of the project
rspec options file.
(#15193) Document how to use the static compiler

Without this patch the magic nature of the `Filebucket[puppet]` resource
and the expected behavior of the puppet agent obtaining file content
from the server is not documented anywhere.  This is a problem because
it is not clear how to configure the agent in a manner that does not
produce errors when using the static compiler.

This patch fixes the problem by providing a more in-depth description of
the high-level approach the static compiler takes.  In addition, the
specific configuration of `fileserver { puppet: server => $server, path
=> false }` is documented in the README_DEVELOPER.