(PUP-2691) Re-adding the missing ‘description’ property to P::MT::Metadata.

Prior to Puppet 3.6.0, users had a ‘description’ property which they
could reliably expand into their module skeleton’s ERB templates.  This
property was removed from the default set of properties in Puppet 3.6.0,
which effectively broke template expansion for users relying on it.

This change ensures that users can continue to rely on this property.
(PUP-2816) Default forge override in Rakefile

The override for the fake forge to use only showed up in the
ci-bootstrap-from-artifacts.sh, but that only affects how the jenkins
jobs handle the pipeline. When you run the tests on your own machine,
you aren't going to use that script, which would mean that it would use
the wrong fake forge. This moves the override to the Rakefile so that it
will always take effect.
Merge pull request #2790 from zaphod42/issue/stable/pup-2816-using-wrong-fake-forge

(PUP-2816) Default forge override in Rakefile
(maint) Make loaded 4x functions debuggable

The 4x functions where not debuggable because the source file
was not given to the Kernel.eval of the loaded source string. This
fixes the two loaders (4x functions, and 3x transforming functions).
Merge branch 'PUP-2755_fixes-from-review'
(PUP-2828) Pin to 1.9.3 branch of vendored ruby on Windows

Previously, acceptance tests on Windows would install the default branch
of our vendored ruby repo. This is a bit fragile.

This commit makes it explicit that we are using the `1.9.3` branch,
which contains the older set of windows gems.

Newer development to support x64 will be done in the `1.9.3-x86` branch.
Merge branch 'ticket/stable/PUP-2828-pin-vendored-ruby' into stable

* ticket/stable/PUP-2828-pin-vendored-ruby:
  (PUP-2828) Pin to 1.9.3 branch of vendored ruby on Windows

Closes GH-2800
Merge remote-tracking branch 'upstream/stable'

* upstream/stable:
  (PUP-2828) Pin to 1.9.3 branch of vendored ruby on Windows
  (PUP-2816) Default forge override in Rakefile
(PUP-2828) puppet-win32-ruby acceptance ver config

 - Previously, Jenkins acceptance jobs on Windows would clone Windows
   source for puppet-win32-ruby, the vendored Ruby that we ship as part
   of Windows MSI builds.  This comes from an internal git mirror.
 - At present, a simple checkout is performed against whatever is the
   'default' branch (typically the 1.9.3 branch).  Unfortunately, this
   will not work for any acceptance jobs that intend to use 2.0, and it
   currently doesn't work for jobs that need new versions of gems.
 - Rather than take a 'clone the repo and hope it works' approach, make
   use of Beaker's :rev option when calling install_from_git.
   https://github.com/puppetlabs/beaker/blob/beaker1.11.2/lib/beaker/dsl/install_utils.rb#L106
 - Using :rev allows us to pin the repo version by using an environment
   variable that can be setup in the Jenkins job.  Track the relevant
   SHAs with the modified code so that dependent versions are tracked
   in the source tree, rather than through transient Jenkins jobs.
 - To allow the jobs to build a particular architecture, introduce a
   new environment variable called WIN32_RUBY_ARCH that can be used to
   select either 'x86' or 'x64'.  If an arch is not specified, fall
   back to 'x86', but if the appropriate :rev is not specified, kill
   the setup step.
(maint) Use an absolute path so we're not sensitive to pwd

Previously, the location of the windows versions.yaml file depended on
your current working directory, and assumed it was the root of the
project. But acceptance tests are typically executed by cd'ing into
acceptance, and then executing rake tasks from there.

This commit ensures we reference the versions.yaml relative to the
currently executing 000_EnvSetup.rb setup step.
Merge branch 'pr/2801'

* pr/2801:
  (maint) Use an absolute path so we're not sensitive to pwd
  (PUP-2828) puppet-win32-ruby acceptance ver config

Closes GH-2801
Merge pull request #2701 from pvande/bug/stable/pup-2691_repairing_the_missing_metadata_description_property

(PUP-2691) Re-adding the missing ‘description’ property to P::MT::Metadata
Revert "Merge branch 'pr/2801'"

This reverts commit ea304a00efd5aa5837ab74979b60a1597d4eb82d, reversing
changes made to b9a0cb902a8a77635d1c0fba99a5a4ebad8197c1.
(PUP-2828) Select the branch of puppet-win32-ruby to install

Previously, we were always installing ruby 1.9.3 on Windows, which
contains the gem sets for 3.2.x to 3.6.x.

This commit updates the setup step to install ruby from the 1.9.3-x86
branch (by default). If the WIN32_RUBY_ARCH environment variable is
specified, then it will install ruby from the 2.0.0-x64 branch instead.