(#20677 Raise error on missing path for auth stanza)

This patch raises a ConfigurationError when the user has specified an
allow/allow_ip directive without a preceding path directive.
This is, presumably, a bit more user friendly than having a NilClass
exception thrown when you forget to specify the path directive in your
auth.conf
(maint) Clarify the merge-up process in COMMITTERS

Without this patch some of the committers are using a process that
involves merging a topic branch based on stable into both `stable` and
`master`.  This is a problem because it's confusing and inconsistent
from other committers who are merging a topic branch into `stable`, then
merging `stable` into `master.

The two processes, while equivalent in nature, produce different and
inconsistent log messages when reviewing `git lg`.  For example, the
following log is produced by the process that does not merge up:

    *   e130aa5 Merge branch 'maint/stable/filebucket_clarifications' 30 minutes ago Hailee Kenney  (HEAD, origin/master, master)
    |\
    | * b301ada Maint: Improve documentation of filebucket attributes 33 minutes ago Nick Fagerlund
    * |   9aa9d69 Merge pull request #1636 from adrienthebo/maint-readme_developer_explain_side_effects_in_tests 3 days ago Hailee Kenney
    |\ \
    * \ \   515cd97 Merge pull request #1639 from Sharpie/18895-fix-runit-documentation 3 days ago Hailee Kenney
    |\ \ \
    | * | | 713bcbe (#18895) Fix documentation in runit provider 3 days ago Charlie Sharpsteen
    |/ / /
    * | |   4c2655f Merge pull request #1637 from jeffweiss/tickets/bug/18393_diffargs_broken_on_aix53 4 days ago Chris Price
    |\ \ \
    | * | | bb86ff6 (#18393) AIX 5.3 doesn't support diff -u 4 days ago Jeff Weiss
    * | | |   325b8bf Merge pull request #1635 from hlindberg/issues/fix-20581 5 days ago Adrien Thebo
    |\ \ \ \
    | |/ / /
    |/| | |
    | | * | a3941d4 (maint) Add documentation on side effects in tests 6 days ago Adrien Thebo
    | * | | 23005e6 (#20581) Correct parser future's validation of query expression 7 days ago Henrik Lindberg
    |/ / /
    | | * edfabfd (packaging) Update PUPPETVERSION to 3.2.0-rc2 7 days ago Matthaus Owens  (3.2.0-rc2)
    * | |   8c0e1b3 Merge branch 'stable' 7 days ago Jeff McCune
    |\ \ \
    | | |/
    | |/|
    | * |   761de6b Merge branch 'fix_activerecord_centos' into stable 7 days ago Jeff McCune

Compare this to the log of the stable branch and observe how there are two very
similar merge commits with the log `Merge branch
'maint/stable/filebucket_clarifications'`  Please observe these similar commit
messages have different commit ID's, e130aa5 and 47fd6f9 respectively, and both
merge commits are bringing in the change contained in b301ada.

    *   47fd6f9 Merge branch 'maint/stable/filebucket_clarifications' into stable 33 minutes ago Hailee Kenney  (origin/stable, stable)
    |\
    | * b301ada Maint: Improve documentation of filebucket attributes 34 minutes ago Nick Fagerlund
    |/
    * edfabfd (packaging) Update PUPPETVERSION to 3.2.0-rc2 7 days ago Matthaus Owens  (3.2.0-rc2)

Using the merge-up process made clear in this patch, the history will look as
follows:

    *   1f79310 Merge branch 'stable' 5 seconds ago Jeff McCune  (HEAD, master)
    |\
    | *   c6f6ffb Merge branch 'fix/stable/clarify_merge_up' into stable 45 seconds ago Jeff McCune  (stable)
    | |\
    | | * 44b999c (maint) Clarify the merge-up process in COMMITTERS 53 seconds ago Jeff McCune  (fix/stable/clarify_merge_up)
    | |/
    * |   e130aa5 Merge branch 'maint/stable/filebucket_clarifications' 35 minutes ago Hailee Kenney  (origin/master)
    |\ \
    | | *   47fd6f9 Merge branch 'maint/stable/filebucket_clarifications' into stable 36 minutes ago Hailee Kenney  (origin/stable)

This minor difference also has the effect of making `git branch --contains
c6f6ffb` much more useful, as both `master` and `stable` will contain merge
commits made into `stable`.
(#20677) Add tests to ensure configuration errors are raised as expected

I also took the liberty of adding a add_raw_stanza helper function. It
doesn't really do much, but it seems like a good idea to me to keep the specs
as clean as possible. Maybe having two separate cases for allow &
allow_ip is a bit overzealous, but I guess the overhead is minimal.
(packaging) Update PUPPETVERSION to 3.2.0
Merge branch 'release_3.2.0' into stable
(#11108) Make the pkgdmg provider able to install a remote flat pkg file

Without this patch applied when the pkgdmg provider is used to install a remote flat pkg file, the installation fails. This is becasue the installer expect a file with the .pkg extension and the curl command used to download the remote package set as output a filename without any extension. This patch fixes the problem by adding the correct extension to the curl output parameter.
(maint) stub `dpkgquery` in aptitude specs

The Puppet::Provider.command method will attempt to look up a command
and will verify that it's present on the system with Puppet::Util#which.
If the underlying command is not present an exception will be raised,
and this was causing spec tests to fail. This commit stubs out the
`dpkgquery` command in the aptitude spec provider so that the specs can
be run on platforms that don't have /usr/bin/dpkg-query.

Paired-with: Joshua Partlow <joshua.partlow@puppetlabs.com>
Merge branch 'maint-stub_aptitude_dpkgquery'
Merge pull request #1645 from jeffmccune/clarify_merge_up

(RFC) Clarify the merge-up process in COMMITTERS
Merge branch 'pull-1641'

This closes GH-1641
Fix for rc-status not showing puppet when puppet is run as a service

/bin/rc-status doesn't show the service specified in the environment
variable "RC_SVCNAME", which when puppet is started as a service is set
to "puppet".

Updated to use "has_command" instead of ENV.delete
Ensure that openrc service provider wipes RC_SVCNAME variable
Merge branch 'pull-1646'

This closes GH-1646
(maint) stub out Puppet::Util.which for openrc

Puppet::Util is both mixed in to Puppet::Provider and is also invoked
directly by Puppet::Util::CommandDefiner. We have to stub out the #which
method on the Provider class and the Util module because we don't know
how the method will be invoked.
Merge branch 'maint-rcstatus_stub'
(#20726) Add user managehome acceptance tests

There were no acceptance tests covering the behavior of user providers
when managing home directories.

This commit adds two acceptance tests, one for testing when the home
directory is managed, and one test when the home directory is no longer
being managed.

Paired-with: Josh Cooper <josh@puppetlabs.com>
Revert "Merge branch 'pull-1512'"

This reverts commit 9c22753eee23db85fb9a3774d25b26a468db8d7e, reversing
changes made to cb9927f49fd1512720177ad77395a1586f86cbd1.

This commit is being reverted because #20726 revealed a bug with the new
managehome home behavior of useradd.
(#11108) Test coverage for remote pkg file

The current implementation of tests for the pkgdmg provider only test
the behavior for packages without a file extension if they're being
installed locally. This commit adds tests for remote pkgs so that if a
file extension is not given in the package tile, it's extracted from the
package source.
(static compiler) Add method documentation

The static compiler doesn't have much documentation around the various
methods and the method signatures. This commit adds basic documentation
for method signatures and the purpose of methods.
(#20726) Include password for useradd managehome tests on windows

The new acceptence tests for managing the home directory fails on
Windows because windows requires a sufficiently complex password to be
specified when creating the home directory.

With that said, managing the home directory is broken on windows with
ruby 1.9 (#20768). This marks the test as pending when not running ruby
1.8.

Paired-with: Josh Cooper <josh@puppetlabs.com>