(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-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-3366) Correct comparisson of Enum > Enum[a]

Comparissons involving an unparentesized Enum were not correct
because an iteration with all? returns true if the set being
enumerated is empty.

This modifies the logic, and adds missing tests.
(maint) Use $vardir for ssldir, like factpath.
(PUP-3270) Remove deprecated Puppet::Application methods
Merge pull request #3161 from daenney/debian-vardir-ssl

(maint) Use $vardir for ssldir, like factpath.
(maint) Remove Puppet::Util.memory

The only caller of this function was removed in 3891f4811, and can be
finally laid to rest.
Merge pull request #3074 from melissaanne/stable

(PUP-3227) Address man page ownship conflicts
Merge pull request #3134 from hlindberg/PUP-3366_string-enum-type-calculation

PUP-3366 Fix issues with string/enum type assignable calculations
Merge remote-tracking branch 'upstream/stable'

* upstream/stable:
  (PUP-3366) Correct comparisson of Enum > Enum[a]
  PUP-3366 Fix issues with string/enum type assignable calculations
  (PUP-3227) Address man page ownship conflicts

Conflicts:
	ext/debian/control
  - Took the Suggests like from the master branch and the Conflicts line
    from the stable branch
Merge pull request #3173 from adrienthebo/removal/master/util-memory

(maint) Remove Puppet::Util.memory
Merge pull request #3172 from adrienthebo/removal/master/pup-3270-deprecated-application-methods

(PUP-3270) Remove deprecated Puppet::Application methods
(maint) Remove the agent role from the master node on Solaris 11

Background: the Solaris 11 acceptance tests take a long time. One reason
is that the agent role is executed on both the agent and master node,
doubling the time taken for agent testing. This isn't giving us more
coverage and it increases the test feedback loop.

So this commit drops the agent role from the master node.