(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-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