(#18092) Use CGI.parse on network URI query

The current implementation of the network device enable password parsing
is unable to handle characters like sharps and spaces in the password,
which are valid passwords. This commit adds CGI parsing of the query
string to only extract and unescape the enable query parameter.

This supercedes GH-1327 and GH-1491.
(#17864) Don't check certificate_revocation if configured not to
(#19493) suggest a 'specifications/lib' symlink to make puppet.gemspec's require work
(#19495) show how to run tests for n00bs like me
Merge pull request #1501 from adrienthebo/18092-cgi_unescape_enable_password

(#18092) Use CGI.parse on network URI query
(maint) Refactor ssl/host_spec.rb crl context

The tests added in 81a5cbb added more checks around the
certificate_revocation setting and overrided the local context settings.
This commit splits the rspec context into two smaller contexts for each
possible case and sets values in the before block accordingly.
Merge branch 'pull-1504'

This closes GH-1504.
Merge pull request #1505 from djmitche/fix/bug19493/master

(#19493) suggest a 'specifications/lib' symlink to make puppet.gemspec's require work
(maint) update README_DEVELOPER.md with rake spec details
Merge branch 'pull-1506'
[packaging] Update mocks for rpmbuilder mock format

The Puppet Labs mocks created by rpmbuilder have assumed a new format, pl-el-*
vs el-*, in order to avoid overwriting the configurations supplied by the mock
package. This commit updates the mocks in puppet to reflect the new standard,
so that we can continue to build packages with builders created with the
rpmbuilder module. It also removes the "rc_mocks", which was deprecated in the
packaging repo some time ago and are no longer used.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Merge pull request #1510 from MosesMendoza/maint/2.7.x/update_build_defaults

[packaging] Update mocks for rpmbuilder mock format
Merge branch '2.7.x' into 3.1.x

Conflicts:
	ext/build_defaults.yaml
Merge branch '3.1.x'
(#19542) useradd provider should support move-home option if managehome is enabled

usermod has a flag (-m) to move a users home directory when it's being modified, this
adds modifycmd to the useradd provider which will run usermod with the -m option.
(#18229) - Eroneous command given in puppet module error message

Fixed the error message to read --target-dir instead of --dir
Merge pull request #1513 from casharma/bugfix/module/18229

(#18229) - Eroneous command given in puppet module error message
(#19542) Update user type docs for linux managehome

Commit d23906e adds support for updating the user home directory if the
`managehome` parameter is true. This commit updates the user type
documentation to note the Linux exception since the behavior change is
only applicable to Linux.
Merge branch 'pull-1512'
(#19090) Fix user failure when group exists and gid is not specified

When a group matching the name of a user already exists on a system
and the user resource does not contain a gid parameter, the execution
of useradd fails.

Normally useradd creates a group with an identical name to the user
when -g is not provided on the command line.  In the case where the group
already exists -g must be explicitly passed to useradd.