(PUP-2798) Remove warnings for reserved words in 3x regular.

We are issuing too many deprecation warnings for people to keep up.
The migration paths is to use the future parser/evaluator to "future
proof" manifests.

This only changes the warnings for 3x regular. And is basically a
reversal of part of PUP-1027 where these warnings were added).
(PUP-1811) Set regexp match vars on regexp match using in operator
(PUP-1811) Add tests for regexp search in array setting match vars
Merge pull request #2781 from hlindberg/PUP-2798_Stop-reserved-word-warning-3x

(PUP-2798) Remove warnings for reserved words in 3x regular.
(maint) Fix microsoft_windows feature to return false instead of nil.

Fixing Puppet.features.microsoft_windows? to return false instead of nil.
(maint) Remove unnecessary facter stub in compiler_spec.rb.

Removing an unnecessary facter stub.
The stub is incorrect as value does not return a Fact object.
The correct stub is used below.

Also removing redundant require of puppet/rails.
(PUP-2104) Add cfacter setting to enable cfacter implementation.

Adding a --cfacter setting that will replace the facter implementation
with the native facter implementation if the following conditions are
met:

* cfacter is installed
* the version of cfacter is at least 0.2.0 (not yet released).
* facter has not evaluated any facts by the time the setting is set.

To accomplish this last point, certain default setting values needed to
be delay-evaluated as they relied on facts. Therefore a :default
for a setting now accepts a Proc and calls the Proc only once when the
default value is needed.
Merge pull request #2811 from peterhuene/alternative/facter

(PUP-2104) Add cfacter setting to enable cfacter implementation.
Merge pull request #2789 from hlindberg/PUP-1811_in-set-match-vars

(PUP-1811) Make 'in' set match vars when regexp is used to match
(doc) Describe ca subcommands in puppet help

PUP-2801 requests ability to remove pending CSRs. The requester confirmed
that the puppet ca destroy command met that need. This patch adds basic
descriptions to puppet help ca for destroy, revoke, generate, sign,
print, fingerprint, and verify. The descriptions are largely sourced from
the puppet help cert descriptions of the same functionality.
Merge branch 'pull-2783'

This closes GH-2783.
Merge branch 'master' into puppet-4