(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
(PUP-3322) Add debugging to appdmg provider

I was trying to install Scratch[1] using boxen[2]. The appdmg isn’t in
the expected format, so this failed. I had to poke around a bit to
understand why that was happening. This change captures that knowledge.

[1] http://scratch.mit.edu/scratch_1.4/
[2] https://boxen.github.com/
(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.
(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-3366 Fix issues with string/enum type assignable calculations

There were errors in the calculation of string/enum calculation.
Basically Enum == String, if String is size constrained then
Enum < String. This fixes this calculation.

There were no tests for this, they are now added.
(PUP-3244) ENC ignores missing directory environments

When using an ENC, if an environment that didn't exist was defined for a
node puppet would place the node into the production environment instead
of raising an error to alert the user that the environment that had been
requested did not exist.

This commit changes the behaviour when an environment is defined in an
ENC but does not actually exist. Instead of placing the node into the
production environment a Puppet::Environments::EnvironmentNotFound error
is raised.
(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 #3128 from ferventcoder/ticket/stable/PUP-3126-upgrade-win32-service

(PUP-3126) upgrade win32-service to 0.8.6
Merge pull request #3137 from Iristyle/tickets/master/PUP-2452-support-portage-refresh

(PUP-2452) Support package refresh
(PUP-3126) Bump vendored gem dependencies

Include win32-service 0.8.6 when building MSIs.
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.
Merge pull request #3129 from whopper/pup-3307/remove-param-type

(PUP-3307) Remove 'rmdeps' param from Puppet::Type#remove