(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-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-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
Merge pull request #3130 from kylog/issue/pup-3081/acceptance-fixup

Issue/pup 3081/acceptance fixup
(PUP-3338) Allow specs to pass on 1.8.7
Merge pull request #3108 from zaphod42/maint/master/incorrect-unit

(maint) Fix unit of profile output
(maint) Remove SimpleGraph#dotty method

This method has never been used and really isn't the responsibility of
this code; if someone wants to use dotty then they can invoke dotty with
a dot graph themselves.
Merge branch 'pull/2869/head'

* pull/2869/head:
  (PUP-3010) Allow Upstart jobs on Amazon Linux
Merge pull request #3135 from adrienthebo/removal/master/simple-graph-dotty

(maint) Remove SimpleGraph#dotty method
(PUP-2452) has_reinstall -> reinstall_on_refresh

 - Update documentation per NickF
Merge pull request #3137 from Iristyle/tickets/master/PUP-2452-support-portage-refresh

(PUP-2452) Support package refresh
Merge pull request #3013 from casharma/bug/PUP-3137

(PUP-3137) update doc for the user resource expiry parameter
(PUP-3307) Remove 'rmdeps' param from Puppet::Type#remove

This commit removes the deprecated 'rmdeps' parameter from
the Puppet::Type#remove method.

This commit is part of the Puppet 4 code removal effort.