(#16157) Puppet should not print out spurious messages

Previously, the stderr stream was not captured resulting in sprurious messages in the console.
we direct the stderr to devnull so that the 'no such pool' error is not seen when looking for status.
(#16157) ensure that mirror and raidz are used as subcommands

Previously, the subcommands mirror and raidz was repeated for each element of the array.
This resulted in incorrect commands when multiple values were specified. This patch makes
sure that these are used in the subcommand position and only once.
(#16160) handle aclmode and shareiscsi removal.

Two properties aclmode and shareiscsi was removed from solaris 11 in two different builds.
of these aclmode may have been added back in some builds. Earlier, puppet used to fail to list
instances in solaris 11 due to these properties being absent. This patch ensures that failures
due to these properties are caught and a default value returned if we get an error.
(#16139) Provide accessors for @puppet_version and @report_format in
reports

Prior to this commit, some of the data that was useful / necessary
to write a complete report processor was only accessible via
instance variables, while the vast majority of the data was available
through accessor methods.  This commit simply adds accessors for
puppet_version and report_format so that authors of report processors
aren't forced to interact with instance variables.  This should
make report processor implementation a bit more consistent, and
provides a little bit of abstraction from the underlying implementation
details.
(#16058) Add setting to configure catalog cache

This adds a setting to configure the cache terminus used by the catalog
indirection. The two reasonable values at this time are "yaml" and "pson".
(#16058) Set pson as default catalog cache format

Serializing as pson appears to be faster, so set it as the default. Yaml is
still available by setting catalog_cache_terminus.
Add a terminus setting type

The terminus setting type makes it possible to set a terminus to nil by
providing an empty string in the configuration. It also converts the terminus
name to a symbol automatically.

This required making all terminus settings consistently use symbols.
Merge branch '2.7.x' into 3.x

* 2.7.x:
  (#15560) Delete user's profile after deleting account
  (#15560) Create the user's profile if managehome is true
  (#15560) Refactor LogonUser
(#16175) Touch filebuckets contents when we get a new path

Touch the contents file when we get a new path for the file. This
simplifies cleanup scripts for deleting old filebucket files for
example.
Merge branch 'feature/3.x/16175-update-modification-time-on-filebucket-contents' into 3.x
Merge pull request #1073 from cprice-puppet/refactor/3.x/16139-inconsistent-access-to-report-data

(#16139) Provide accessors for @puppet_version and @report_format in reports
Merge pull request #1084 from pcarlisle/ticket/3.x/16058-pson-catalog-cache

Ticket/3.x/16058 pson catalog cache
Merge remote-tracking branch 'origin/2.7.x' into 3.x
Merge remote-tracking branch 'origin/2.7.x' into 3.x

Conflicts:
	Rakefile
	ext/redhat/puppet.spec.erb
	lib/puppet/defaults.rb
	spec/integration/defaults_spec.rb
	tasks/rake/apple.rake

Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
Fixup debian artifacts for 3.x
Fixup for different source paths

This commit adjusts the packaging artifacts for the difference
in directories between 2.7.x and 3.x, which doesn't have sbin
and test. Because of this we also switch to using the packaging
gem task and remove the existing one.
remove old tasks and pull out of rake subdir

This commit removes several tasks that as far as
I can tell are no longer used, and the remaining
tasks out of the rake subdir in tasks.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Move all packaging artifacts from conf to ext

This commit moves all packaging artifacts out of the conf dir and into
the ext dir. This is generally a move to align packaging across all
puppetlabs products and make the directories more sensible, e.g. conf
should have config files. The redhat spec and install.rb are updated
for the path change.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Remove debian manpages that are obsolete in 3.x
Merge remote-tracking branch 'origin/2.7.x' into 3.x

Conflicts:
	lib/puppet/parser/functions/shellquote.rb
	lib/puppet/type/package.rb
	spec/integration/util/file_locking_spec.rb
	spec/unit/parser/functions/shellquote_spec.rb
	spec/unit/util/command_line_spec.rb

Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>