(PUP-2628) Add members to groups instead of full list for Windows

Previously, if you wanted to use the group resource you needed to specify the
entire list of members as the windows provider ignored the auth_membership
setting and was always the authoritative list. This ensures that the windows
provider respects the auth_membership setting.
(PUP-3624) Refactor log setup

Previously, the cert, doc, and face based applications had the same
logic for checking if `--verbose` or `--debug` was specified on the
command line, and setting the log level appropriately.

This commit refactors those applications to just call the
`Puppet::Application#set_log_level` method instead. The doc application is
a little bit unique in that it changes the default log level from
`notice` to `warning`, and it explicitly sets a console log destination.
(PUP-3624) Log at least at info level when --verbose is specified

The change for PUP-2998 means if you have `log_level=debug` in your
puppet.conf, then `puppet agent --test` will reduce the log level to info,
because `--test` implies `--verbose`.

This commit changes the semantics of `--verbose` (and `--test`) so that
we log *at least* at that level, but we won't downgrade.  This affects
all Puppet::Applications, e.g. puppet apply, agent, etc.

Note this wasn't an issue before PUP-2998 was implemented, because
log_levels could only be specified on the command line.
(maint) Add rdoc dependency in Gemfile

Without this patch the Puppet spec tests fail to run using the system
ruby included with Enterprise Linux 7.  This is a problem because EL7 is
a supported platform and it is helpful to use the system packages to run
the Puppet spec tests.

The specific issue is the following from a jenkins job that simply runs
`bundle install --path .bundle/gems` and then `bundle exec rspec spec`.

    + bundle exec rspec spec -fd
    /var/lib/jenkins/jobs/puppet/workspace/.bundle/gems/ruby/gems/activesupport-3.2.19/lib/active_support/dependencies.rb:251:in `require': cannot load such file -- rdoc/rdoc (LoadError)
            from /var/lib/jenkins/jobs/puppet/workspace/.bundle/gems/ruby/gems/activesupport-3.2.19/lib/active_support/dependencies.rb:251:in `block in require'
            from /var/lib/jenkins/jobs/puppet/workspace/.bundle/gems/ruby/gems/activesupport-3.2.19/lib/active_support/dependencies.rb:236:in `load_dependency'
            from /var/lib/jenkins/jobs/puppet/workspace/.bundle/gems/ruby/gems/activesupport-3.2.19/lib/active_support/dependencies.rb:251:in `require'
            from /var/lib/jenkins/jobs/puppet/workspace/spec/unit/util/rdoc_spec.rb:5:in `<top (required)>'
            from /var/lib/jenkins/jobs/puppet/workspace/.bundle/gems/ruby/gems/rspec-core-2.14.8/lib/rspec/core/configuration.rb:896:in `load'
            from /var/lib/jenkins/jobs/puppet/workspace/.bundle/gems/ruby/gems/rspec-core-2.14.8/lib/rspec/core/configuration.rb:896:in `block in load_spec_files'
            from /var/lib/jenkins/jobs/puppet/workspace/.bundle/gems/ruby/gems/rspec-core-2.14.8/lib/rspec/core/configuration.rb:896:in `each'
            from /var/lib/jenkins/jobs/puppet/workspace/.bundle/gems/ruby/gems/rspec-core-2.14.8/lib/rspec/core/configuration.rb:896:in `load_spec_files'
            from /var/lib/jenkins/jobs/puppet/workspace/.bundle/gems/ruby/gems/rspec-core-2.14.8/lib/rspec/core/command_line.rb:22:in `run'
            from /var/lib/jenkins/jobs/puppet/workspace/.bundle/gems/ruby/gems/rspec-core-2.14.8/lib/rspec/core/runner.rb:80:in `run'
            from /var/lib/jenkins/jobs/puppet/workspace/.bundle/gems/ruby/gems/rspec-core-2.14.8/lib/rspec/core/runner.rb:17:in `block in autorun'

This patch addresses the problem by adding 'rdoc' to the set of
dependencies managed by bundler as a pre-requisite step prior to running
the spec tests.
Merge pull request #3324 from ferventcoder/ticket/master/PUP-2628-group-windows-inclusive

(PUP-2628) Add members to groups instead of full list for Windows
Merge pull request #3346 from joshcooper/ticket/master/PUP-3624_log_at_least_debug

(PUP-3624) Log at least at info level when --verbose is specified
Merge pull request #3104 from jeffmccune/rdoc

(maint) Add rdoc dependency in Gemfile
(maint) Remove Puppet::Provider model, apparently ancient
(maint) No longer necessary to gem install rgen

Puppet used to express gem dependencies on rgen in its Gemfile, packaging,
etc, but in PUP-2914 the rgen code was vendored into puppet, and the
dependencies removed.

However, the future parser setup step still tried to install the rgen
gem, but only when testing against git checkouts (effectively Solaris
and Windows).

Since rgen is vendored in puppet, it is not necessary to install the gem
during future parser testing.
Merge pull request #3365 from joshcooper/maint/stable/remove-rgen-install

(maint) No longer necessary to gem install rgen
(PUP-3624) Don't modify application-level options

The previous fix modified `face_base` so that if --debug/--verbose were
specified, it set the corresponding application-level options, like we
do for other types of applications, and called Application#set_log_level
to do the right thing.

However, faces will automatically take any application-level option and
dispatch it to the face application. And since --debug and --verbose are
global options, the face framework would report it as an unknown option:

   puppet module install foo-bar --debug
   Unknown options passed: debug

This commit modifies the base Application#set_log_level method to take
an optional set of options. This way face_base can specify the desired
log level without needing to modify the application-level options.
Non-face application continue to work as before.
Merge pull request #3364 from kylog/remove-provider-model

(maint) Remove Puppet::Provider model, apparently ancient
(maint,QENG-174) Allow installing a new puppet package on top of the PE tar

Currently, when running the puppet acceptance tests against PE, you
can only test the version of puppet that is shipped with the PE
tarball. This adds another step to the PE pre-suite which will install
an arbitrary version of pe-puppet on top of the installed PE tarball.
Merge pull request #3366 from branan/QENG-174

(maint,QENG-174) Allow installing a new puppet package on top of the PE tar
Merge branch 'stable'

* stable:
  (maint,QENG-174) Allow installing a new puppet package on top of the PE tar
  (maint) No longer necessary to gem install rgen

Conflicts:
	acceptance/setup/common/pre-suite/100_SetParser.rb

This was removed in master prior to the change in stable. It was only
used to distinguish between current/future parser runs, and that
distinction no longer exists post PUP-3274, so it remains removed in
master after this merge.
(PUP-3702) roll-back previous fix, which broke solaris11 zone acceptance

Inherit /sbin in the zone acceptance tests on solaris10 until PUP-3722.
Solaris10 zone provider needs to add /sbin to it's pkg-dir inheritance
otherwise the zones cannot boot.  solaris11 zones can not be configured
with inherit-pkg-dir because of IPS.  this is covered by PUP-3722.
Merge pull request #3369 from er0ck/maint/master/PUP-3702-fix_zone_type_on_solaris10

(PUP-3702) roll-back previous fix, which broke solaris11 zone acceptance
Merge pull request #3367 from joshcooper/ticket/master/PUP-3624_faces_are_special

(PUP-3624) Don't modify application-level options