(#15804) add zfs instances

Before this commit, `puppet resource zfs` would fail to list any zfs
entries since zfs provider did not provide a self.instances method. This
commit adds the self.instances method to the zfs provider.
Merge remote-tracking branch 'rahul/ticket/3.x/15804_solaris_zfs_instances' into 3.x

* rahul/ticket/3.x/15804_solaris_zfs_instances:
  (#15804) add zfs instances
Merge remote-tracking branch 'upstream/2.7.x' into 3.x

* upstream/2.7.x:
  (#10915) Add test for provider throwing NoMethodError
  (#10915) Fix tests to work with new parameter checking
  Don't mask NoMethodErrors
  Update CHANGELOG, conf/redhat/puppet.spec for 2.7.19rc2

Conflicts:
	CHANGELOG
	conf/redhat/puppet.spec
(#15547) make sure that the LANG sentinels being used are present

previously, we used es_ES.UTF-8 as the sentinel value while checking for override
of LANG values in user environment. commands in solaris errors out when the LANG
being used is not present in the locales installed in the system.

This patch changes the lang sentinel being used to en_US.UTF-8 which is present in
a normal solaris install.

For checking the overriding, the procedure is to change the LANG to "C" which is
different from either so we modify the behavior of the test itself.
Merge remote-tracking branch 'rahul/ticket/3.x/15547_valid_lang_sentinels' into 3.x

* rahul/ticket/3.x/15547_valid_lang_sentinels:
  (#15547) make sure that the LANG sentinels being used are present
(#15569) ensure that augeas prints parse errors.

Ensure that loading augeas files prints parse errors if any.

This seems to have fallen through the cracks. It was originally
present in pull/733 ticket:14136

This fixes the build failure that was present in boxes that contained
augeas.
Merge branch '2.7.x' into 3.x

* 2.7.x:
  Add Puppet::Parser::Functions::clear for specs
  Clear Environment.current when calling Environment.clear
  Check that function loading worked correctly.
  Avoid stubbing Thread::new due to issues in newer mocha
  Rename specs to end in _spec.rb
  Don't require mocha in spec_helper
  Fix stubbing on nil in some specs
  (#14515) Tests fail with mocha 0.11.4

Conflicts:
	spec/unit/network/http/webrick_spec.rb
	spec/unit/parser/functions/require_spec.rb
	spec/unit/parser/functions/template_spec.rb
Merge remote-tracking branch 'rahul/ticket/3.x/15569_fix_augeas_print_errors' into 3.x

* rahul/ticket/3.x/15569_fix_augeas_print_errors:
  (#15569) ensure that augeas prints parse errors.
(#9416) Rename zfs provider from solaris to zfs

Previously the name of the `zfs` provider was `solaris`. This commit
changes it to be `zfs` in preparation for supporting the resource type
on other platforms.
(#9416) Confine based on the presence of a `zfs` command

Previously, the zfs provider was confined to solaris and assumed the
existence of `/usr/sbin/zfs`. This commit changes the command to a
relative path, which will use `Puppet::Util.which` to resolve the
command. The default search path is set by the `path` setting in
puppet.conf.

Based on work by Marc Fournier <marc.fournier@camptocamp.com>
(#9416) Rename zpool provider from solaris to zpool

Previously the name of the `zpool` provider was `solaris`. This commit
changes it to be `zpool` in preparation for supporting the resource type
on other platforms.
(#9416) Confine based on the presence of a `zpool` command

Previously, the zpool provider was confined to solaris and assumed the
existence of `/usr/sbin/zpool`. This commit changes the command to a
relative path, which will use `Puppet::Util.which` to resolve the
command. The default search path is set by the `path` setting in
puppet.conf.

Based on work by Marc Fournier <marc.fournier@camptocamp.com>
(#9416) Refactor zfs spec tests

Convert to the zfs spec tests to the new format using `let`. Also added
tests for both postive and negative outcomes for each method. Also
eliminated unnecessary stubbing, since the only platform specific aspect
of the provider is whether the `zfs` command is in the PATH.
(#9416) Refactor zpool spec tests

Convert to the zpool spec tests to the new format using `let`.  Also
added tests for both postive and negative outcomes for each method. Also
eliminated unnecessary stubbing, since the only platform specific aspect
of the provider is whether the `zpool` command is in the PATH.