(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-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, ..."
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).
(PUP-3229) Remove deprecate methods in BaseSetting class

In Puppet::Settings::BaseSetting, the following 4 methods were deprecated
long ago. This commit removes them:
call_on_define
call_on_define=
setbycli
setbycli=

This commit also makes a one-line change in call_hook= to remove an
unneeded conditional assignment (value can't have been assigned since
the value.nil? check two lines above).
(PUP-3081) Check for absence of warnings rather than specific notices

For this ticket we changed the Notice associated with catalog application.
This test had a very specific regex it tested against, but the real issue
it was testing for was the absence of warnings rather than precise fidelity
to a particular pair of notices.

So this commit updates the regex to just check for the absence of warnings.
Merge remote-tracking branch 'kylog/issue/base_setting_cleanup_deprecations'

* kylog/issue/base_setting_cleanup_deprecations:
  (PUP-3229) Remove deprecate methods in BaseSetting class