(PUP-3521) Fix Puppet's exception swallowing

Fix Puppet's exception swallowing by finding places where an
Exception is rescued and swallowed and making their rescues
more granular.
(PUP-3753) Improve performance of zfs checks.
Merge pull request #3404 from skoef/master

(PUP-3753) Improve performance of zfs checks.
Revert "(PUP-659) Optimize qualified variables"

Reverts puppetlabs/puppet#3359. This pull request was causing two
acceptance failures: tests.ticket_4293_define_and_use_a_define_within_a_class.rb
and tests/parser_functions/hiera_array.lookup_data.rb. These tests
were both failing with an Invalid resource type error.

This seems to be happening because we not longer have the fully qualified
named for the defined type when the resource is created (i.e. do_notify
rather than foo::do_notify). It's not clear whether this is the intended behavior
or a bug, and what should be changed in order to fix the issue. Thus, it is
being reverted until the original author can make the necessary changes.
Merge pull request #3410 from puppetlabs/revert-3359-PUP-659_optimize-qualified-variables

Revert "(PUP-659) Optimize qualified variables"
(maint) Don't test agent on the master for Win/Sol

Windows and Solaris Beaker configs currently test the 'agent' role on
the master, typically an EL 6 or EL 7 machine. This leads to
double-testing, since we already test these platforms elsewhere.

This commit removes the 'agent' role from the master for Windows and
Solaris Beaker configs to speed up testing and reduce false positives
for these agent platforms.
(PUP-659) Fix failing acceptance tests

With this change, some acceptance tests were failing since they
still relied on Puppet searching the local namespace. The tests
have been updated so that they no longer rely on this functionality
since it's no longer supported.
Reapply (PUP-659) Optimize qualified variables

This reverts commit 17caf5e8dd97e34f7633f99ebc627662459d2756.

Since we've determined that the issue around the pull request
this commit was reverting was out of date acceptance tests,
undo the revert and reapply the changes.
Merge pull request #3413 from rji/maint/stable/remove-agent-role-from-master-win-sol

(maint) Don't test agent on the master for Win/Sol
Merge pull request #3414 from hkenney/issue/master/PUP-659_optimize-qualified-variables

Reapply (PUP-659) Optimize qualified variables
Merge remote-tracking branch 'upstream/stable'

* upstream/stable:
  (maint) Don't test agent on the master for Win/Sol

Conflicts:
	acceptance/config/nodes/solaris10.yaml
	acceptance/config/nodes/solaris11.yaml
	acceptance/config/nodes/win2003r2x64-rubyx64.yaml
	acceptance/config/nodes/win2003r2x64-rubyx86.yaml
	acceptance/config/nodes/win2003r2x86-rubyx86.yaml
	acceptance/config/nodes/win2003x64-rubyx64.yaml
	acceptance/config/nodes/win2003x64-rubyx86.yaml
	acceptance/config/nodes/win2003x86-rubyx86.yaml
	acceptance/config/nodes/win2008-rubyx64.yaml
	acceptance/config/nodes/win2008-rubyx86.yaml
	acceptance/config/nodes/win2008r2-rubyx64.yaml
	acceptance/config/nodes/win2008r2-rubyx86.yaml
	acceptance/config/nodes/win2012-rubyx64.yaml
	acceptance/config/nodes/win2012-rubyx86.yaml
	acceptance/config/nodes/win2012r2-rubyx64.yaml
	acceptance/config/nodes/win2012r2-rubyx86.yaml
Merge pull request #3302 from fpringvaldsen/PUP-3521-error-swallowing

(FOR REVIEW) (PUP-3521) Fix Puppet's exception swallowing
(PUP-3754) Better error message when failing to chown log file

Previously, puppet would log an error if it failed to chown a
file-based log destination, but didn't specify what owner/group it tried
to chown to or the path to the file, making it difficult to debug.

This commit changes the error message to include the owner, group and
file path for easier debugging.
Merge branch 'pr/3355'

* pr/3355:
  (PUP-3754) Better error message when failing to chown log file
(PUP-3268) resource/service/should_not_change_the_system should only run on agents

Use the agents object to more definitely run against the proper
machines.  This test would previously error on windows runs after the agent
role is removed from the master for windows tests.  This change fixes
this issue.
Merge pull request #3415 from er0ck/maint/master/PUP-3268-resource.service.should_not_change_the_system-should_only_run_on_agents

(PUP-3268) should_not_change_the_system should only run on agents
(PUP-3642) Remove environment name from URL path

This commit makes some changes to the indirector network layer
such that the environment name is no longer a part of the main
URL path structure.  This will allow us to have a more finite URL space
and run Puppet in the same webserver with other apps, without
worrying about URL collisions.  Instead, the environment becomes a query
parameter.
Merge pull request #3412 from cprice404/feature/master/PUP-3642-remove-env-from-url-path

(PUP-3642) Remove environment name from URL path
Check package presence before yum erase. fixes PUP-1295