(pup-1636) Add a rhel7 config
(pup-1636) Add firewall service name for rhel7
(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) 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
(maint) Add newline at end-of-file under lib
(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.
(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
(PUP-897) Allow rpm package provider to query by virtual package name.

Some providers that inherit from the rpm provider, such as the yum provider, do
a query after installing a package. If the package is specified by a virtual name,
the yum provider installs the package successfully, but the base rpm provider
implementation fails to query the installed package. This causes a confusing
"could not find package" error even though the package was installed.

Passing the '--whatprovides' option to rpm when performing a query instructs rpm
to locate packages that provide the given virtual name. This enables child providers
to install by virtual package name without errors.
Merge pull request #2370 from peterhuene/master

(PUP-897) Allow rpm package provider to query by virtual package name.
(PUP-652) Fix error reporting for ParsedFile

Puppet::Error may not have a setter for file, so check if there is
one first (like ExternalFileError has).

This was previously tracked in redmine as #19422
(PUP-1584) Expand some modulepath settings for windows

A couple of module_tool specs modified for PUP-1584 were not being
expanded such that they would work properly on Windows or POSIX.
Merge pull request #2363 from domcleal/tickets/master/pup-1722-yumrepo-protocols

(PUP-1722) Permit HTTPS and FTP protocols in yumrepo