(pup-1636) Add a rhel7 config
(pup-1636) Add firewall service name for rhel7
(PUP-1510) Fixed forcelocal bug with ensure => absent

The forcelocal option was referencing a command that was not
previously defined which was throwing an exception.  The forcelocal
feature does not need to use a special command to delete local users,
only to add them.  So the special logic for delete was removed and
forcelocal now uses userdel to ensure absent on a user.
(maint) Scrub whitespace on global setting descriptions when inserting into man pages

These text blobs use the hanging indent style used in a lot of our embedded doc
strings, so we have to handle that indent properly with scrub.
(PUP-1707) Fix possible gsubs on nil in man page ERB template

In several places, this template would attempt to fall back to summaries if long
descriptions were absent. However, before deciding to use the summary, it would
attempt to do a gsub on nil, which would blow up the entire process.

This commit does the fallback earlier, and adds final fallback text so we won't
be using text methods on nil if the summary is also absent.
(PUP-1473) Fix issue with UTF-8 in user comments

GH-1943 included a change to munge the comment property on the user
type so that it gets encoded as ASCII-8BIT. This was to allow the comment
property to handle UTF-8 values as existing values are read as ASCII-8BIT.

Originally the change called `force_encoding` to force the encoding to
ASCII-8BIT. This method does not actually attempt to encode the string, it
only changes the string's associated encoding. It was suggested during code
review that a call to `encode` should be used instead. However, calling
`encode` will fail if the string has UTF-8 characters that cannot be
represented in ASCII-8BIT.

As we desire the comment property to be treated as a squence of bytes in
this case, we should be calling `force_encoding` instead of `encode`.
(maint) Improve Puppet::Util::Docs.scrub's handling of one-liners

One-liner handling wasn't behaving as expected. Sometimes one-liners are
buffered with extra newlines before and/or after, and in these cases, scrub
wasn't catching the leading whitespace.

This commit makes it behave as intended, and adds a test showing the intended
behavior.
(maint) Fix spec for UTF-8 strings in user comment properties

The first problem with this spec is that it wasn't actually
being run due to an always false "if" clause.  It was checking
for `String` responding to `encode`, but `encode` is an instance
method.  `method_defined?` should have been used instead.

The second problem with this spec is that the test value did not
contain any non-ASCII characters.  If it had, it would have caught
the bug described in PUP-1473.  Added a non-ASCII character to test
for regressions.
Merge branch 'pup/1473' into stable

* pup/1473:
  (maint) Fix spec for UTF-8 strings in user comment properties
  (PUP-1473) Fix issue with UTF-8 in user comments

This closes GH-2360.
(PUP-1722) Permit HTTPS and FTP protocols in yumrepo
(doc) Fix a typo in docs for the include function

There is a typo in the documentation for the include function.
This patch merely fixes that typo.
(PUP-1584) Module tool acceptance with_environment tests directory envs

Update the acceptance/tests/modules/*/with_environment.rb tests to check
both legacy and new directory environments.  Also extracts common
environment setup to module_utils.
(maint) Banish "configuration parameter"

They are called settings!

Note: Two spec files relied on the wording of an error message I changed.
I revised them to find the new wording.
(PUP-1584) module_tool uses current_environment with target_dir overrides

The module tool was relying on the implicit creation and caching of
legacy environments based on puppet settings for environment and
modulepath.  But this does not work for the new directory style of
environments.  So we are being explicit about using the current
environment from the context, and overriding modulepath to prepend a
target_dir if given, and then directly inserting the environment to be
used into the options rather than expecting the module_tool applications
to retrieve the correct environment from any other loaders.

Testing is now simpler, but because we are now comparing different but
equal environments, I added equality and hash to node/environment to
facilitate this.

This in turn broke tests, because of
Puppet::Node::Environment#known_resource_types which caches using the
global $known_resource_types.  Previously this would always clear itself
when called if $known_resource_types.environment
!= self, but with the new node equality, state was now leaking between
tests.  The test_helper now sets $known_resource_types nil after each
test.
(PUP-1584) Be explicit about adding log functions to root environment

Previously log level functions were being initialized on the root
environment purely as an artifact of initialization timing.  Now we're
being explicit about it.
(packaging) Update PUPPETVERSION to 3.4.3
(pup-1636) Skip enc test on RHEL7

Skip this test on RHEL7 for the same reason it's being skipped
on RHEL6 (and other platforms). Note this is a test for a deprecated
feature which has proven challenging to setup across a range of
platforms.
Merge pull request #2344 from kylog/issue/pup-1636/add-rhel7-to-acceptance

Issue/pup 1636/add rhel7 to acceptance
(pup-1636) Confine two tests to el5 and el6 which are all the tests are written for
Merge pull request #2367 from jpartlow/issue/master/pup-1584-module-tool-and-directory-envs

Issue/master/pup 1584 module tool and directory envs