(maint) Reset confines on the pip provider after tests

The tests for pip alter the confines for the pip provider by stubbing the
underlying facter calls and then calling lazy_pip. This can leak into later
tests, causing weird failures.
Generated modules comply with Style Guide

Without this patch, all module generated with `puppet module generate`
will produce code that does not pass lint or comply to our Style Guide.
Merge pull request #1657 from ghoneycutt/tickets/master/20815_module_template_style

Generated modules comply with Style Guide
Merge branch 'stable'

* stable:
  (maint) Reset confines on the pip provider after tests
(packaging) Update PUPPETVERSION to 3.2.1
Merge branch 'release_3.2.1' into stable
Merge branch 'stable'
(#16792), permit to remove all dependants packages with urpmi provider

Without this, removing some packages can be quite tedious, since urpmi
provider will fallback on rpm and rpm support to remove only 1 rpm. This commit
permit to have a behavior similar to apt provider.
(#16792) Rename urpmi `uninstall` method to `purge`.

Since using `urpme` to remove packages will remove dependencies and thus
can be fairly destructive, it seems better to prefer the less
destructive option by default. Defining this method will allow urpmi to
purge packages and their dependencies if needed.
(maint) Remove convoluted confine from urpmi provider

Commit 49d8ef280 added a rather convoluted method for checking
suitability for the urpmi provider, without emitting errors. Since this
was released in 0.23.1 Puppet has developed better ways for checking
suitability, so this confine can be removed.
(maint) Improve urpmi error reporting

The urpmi package provider was ensuring that packages were actually
installed by querying the package after the install command was run. If
that failed an exception was raised, but didn't indicate that the
package was missing after said installation. This commit improves that
error reporting.
(maint)Add basic test coverage to urpmi package provider
Merge branch 'pull-1206'

This closes GH-1206
Don't keep Gemfile.lock checked in.
(#20787) Do not generate NetBIOS name service requests

Previously, we were constructing an ADSI connection uri using the local
computer name, e.g. 'WinNT://hostname/Administrator,user'. However, Windows
performs a NetBIOS name service request (NBNS), one request for each ADSI
connection, which is very slow when enumerating users and groups.

Simply using '.' to denote the local computer eliminates all NBNS
requests. This reduces the time to run `puppet resource user` from 198
seconds to 3.1 seconds for 39 users, and from 98 seconds to 2.8 seconds for
16 groups.

Note we still have to use the fully qualified uri when adding/removing
users from a group, though it does not result in NBNS requests.
Revert "Merge pull request #1478 from dsd/fix/master/18781-webrick-old-client-compat"

This reverts commit 86331385e6263bf370a8e42f52f882d43882efd2, reversing
changes made to a10b85bd9e7198ca71ef0461bcdfe5ff75698724.

The commit being reverted causes webrick to be loaded during puppet
startup, e.g. puppet --version, and webrick performs a reverse DNS
lookup of the local IP address, which can cause unnecessary delays.
Merge pull request #1667 from joshcooper/ticket/stable/20901-revert-webrick-monkeypatch

Revert "Merge pull request #1478 from dsd/fix/master/18781-webrick-old-client-compat"
Merge branch 'stable'
(#20920) Include file and line number on invalid resource relationship

Change the error type to ResourceError to make it include the file name
and line number.
(Maint) Remove unused variables