(PUP-2831) Make Puppet work with RGen 0.7.0

This updates the Gemfile to use RGen 0.7.0 (optionally).
In RGen 0.7.0 containment now works as specified, if something is
contained more than once, it moves to the last container that contains
it (by removing it as contained from all other containers). This caused
problems in the Function API where the block default Callable type was
reused for all signatures (and thus moved). There were also problems in
tests where the same type instances was contained in multiple locations.

This fixes these to use distinct instances.
(maint) Remove dead code
(RE-1497) Remove quantal from build_defaults

This commit removes quantal from all build defaults because it is end of
life. It removes the defaults from the build_defaults yaml.
Merge pull request #2807 from clantant/RE-1497/stable/srcs

(RE-1497) Remove quantal from build_defaults
(maint) Disable timesyncing for acceptance tests

We have been seeing windows time service errors on 2008R2 while
performing time syncing. This step should not actually be necessary
as vsphere seems to provide synchronized time across VMs from the pool.
(maint) Pin puppet git acceptance to use facter 2.0.2

Previously, when running acceptance tests on platforms that still use
git checkouts, e.g. Windows, we were installing puppet#stable and
facter#stable. However, we recently released facter 2.1, which now
resides in facter#stable. On Windows, facter 2.1 requires a newer
win32-security gem than what puppet#stable installs, causing errors
like:

    lib/win32/security.rb:54:in `elevated_security?': Incorrect function

This commit ensures we install facter 2.0.2 (commit 7845c9aa0df) when
running acceptance from git checkouts. This should only affect Windows
and Solaris, as Linux acceptance runs against packages, which will pull
in the most recently released dependencies.
(maint) mount: fix awkward grammar in :dump docstring
(maint) mount: remove spurious newvalue invocation from :dump
Merge pull request #2802 from hlindberg/PUP-2831_use-rgen-0-7-0

(PUP-2831) Make Puppet work with RGen 0.7.0
Merge pull request #2843 from ffrank/main/mount-doc-wording

Maint/mount doc wording
(maint) Pinning rest-client to 1.6.7
(maint) Pin rest-client gem to 1.6.7

This commit addresses spec failures under ruby 1.8.7.

Background:
Puppet uses the couchrest gem for the soon-to-be-deprecated
couchdb facts terminus. The couchrest gem has a pessimistic
dependency on the 1.6.x of the rest-client gem. The previous
release of the rest-client gem was 1.6.7 in 2011, but on July
8th 1.6.8 was released, and it introduced a dependency on
the rdoc 4 gem, which breaks various puppet code.

Since we're planning to deprecate this code anyway, and remove
it in puppet-4, I opted for the simple approach of pinning
this one dependency.
Merge branch 'stable'
Revert "(maint) Pin puppet git acceptance to use facter 2.0.2"

This reverts commit 401684525e1fc207486832a1f4a653a59132ce16.

The puppet/master branch doesn't need this pin.
(PUP-2901) Add module dependency validation

Prior to this commit there wasn't much verification for module dependencies.
This commit adds verification the module dependencies have sane names and version
ranges. If verification fails, it will raise an argument exception.
(PUP-2745) Ignore malformed forge dependencies

Prior to this commit a malformed name in the dependencies for a downloaded forge
module dependency would cause the PMT to fail unexpectedly.
This commit causes the PMT to ignore malformed dependencies.

It depends on https://github.com/puppetlabs/puppet/pull/2827