(PUP-2452) Refresh support for Package type

This is implemented behind a feature that each provider must
implement. It is intended to allow source distributions to
recompile packages on a notify or subscribe event.

It allows patterns like:

    package { "app-admin/nginx":
       ensure       => latest,
       hasreinstall => true,
       subscribe    => File['/path/to/nginx/compile/options'];
    }
(PUP-3227) Address man page ownship conflicts

Prior to this commit, upgrading from puppet=2.7.23-1~deb7u3 and
puppetmaster=2.7.23-1~deb7u3 to puppet=3.7.0.29-1puppetlabs1 and
puppetmaster=3.7.0.29-1puppetlabs1 fails. I believe this problem is due
to how Debian chose to package puppet-common, which owns
`/usr/share/man/man8/puppet-master.8.gz`.

This commit adds in a `Conflicts:` to the puppetmaster and
puppetmaster-common packages to make sure that we can successfully
upgrade from these older package versions. However, if a user has
puppetmaster and puppet older than 3.3.0 installed on a machine, and
only upgrades puppetmaster, this will uninstall the puppet package from
the system.
(PUP-3010) Allow Upstart jobs on Amazon Linux
(maint) Fix unit of profile output

The profile aggregation stated that the times were in milliseconds (ms),
but they are actually in seconds (s).
(PUP-3281) Remove latest_info methods from yum provider

This commit removes the deprecated #latest_info and #latest_info=
methods from the yum provider.

This commit is part of the Puppet 4 code removal effort.
(maint) Include fedora as a platform to test with service packages.

Fedora had been left out, through no fault of its own, and was being
tested without starting and stopping via service scripts.
(pup-3338) Make systemd the default service provider for SLES 12

OpenSuSE >= 12 and SLES 12 use systemd as the default service management framework. This
updates puppet to use the systemd provider by default on OpenSuSE 12 and 13 and
SLES 12
Merge remote-tracking branch 'upstream/stable'

* upstream/stable:
  (maint) Include fedora as a platform to test with service packages.
Merge pull request #3116 from whopper/pup-3281/remove-latest_info-yum

(PUP-3281) Remove latest_info methods from yum provider
Merge pull request #3115 from shrug/maint/master/pup-3338

(pup-3338) Make systemd the default service provider for OpenSuSE >= 12 and SLES 12
(PUP-3339) Confine failed test off of Fedora 19

There seems to be a bug in `usermod` on Fedora 19 which is causing
this acceptance test to fail. The bug does not appear to be present
in Fedora 20. Since Fedora 19 will likely each end of life soon,
just confine the acceptance test off the platform rather than try
to find a work around in puppet.
Merge pull request #3122 from hkenney/issue/stable/pup-3339_confine_failed_test_off_of_fedora_19

(PUP-3339) Confine failed test off of Fedora 19
Merge remote-tracking branch 'upstream/stable'

* upstream/stable:
  (PUP-3339) Confine failed test off of Fedora 19
(PUP-3081) Indicate catalog benchmark is for application

The message "Finished catalog run in $x seconds" may mislead users into
believing that the operation being benchmarked includes both catalog
catalog compilation, downloading, and application. The actual operation
being timed is the catalog application. We should give more indication
of this when reporting the benchmarked time.
(PUP-3137) update doc for the user resource expiry parameter

This commit updates the documentation for the *expiry* parameter
for the 'user' resource type.

Prior to this commit, the documentation was worded incorrectly with
"does never expire" which has been updated to a more simply worded:
"If you want to ensure the user account never expires, ..."
(PUP-3355) Remove PSON document_type

This commit removes the encapsulation in the PSON serialization format.
Puppet only did this when using PSON on certain endpoints, other formats
like YAML or MsgPack never did this.

This is backwards compatible with older Puppet versions as they throw
away the info if it is there. But it is backwards incompatible for other
consumers of the PSON APIs.
(PUP-3355) Remove Puppet::Util::Pson

Remove the now unused Puppet::Util::Pson class.
Merge pull request #3121 from adrienthebo/maint/master/catalog-application-benchmark-message

(PUP-3081) Indicate catalog benchmark is for application
(PUP-3126) upgrade win32-service to 0.8.6

This upgrades the win32-service gem to at least 0.8.6 to take advantage
of the fixes to the service gem. This change includes only the fixes that
we have already applied patches to in puppet-win32-ruby.
(PUP-3081) Remove dependencies on specific notice

This family of tests was applying manifests and predicating success
on a specific notice. The wording of the notice was changed which
broke these tests. But this also exposed that testing for this message
wasn't needed anyway - there are other steps in these tests that
do a real check for success/failure.

While I was in there I added some blank lines between test steps,
so that it's not quite such a wall of text. It's a bit more readable
now (I hope).