(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
(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.
(PUP-2878) file conflict upgrading from 2.7.26 to 3.6.2

Currently, upgrades from 2.7.26 to 3.6.2 break because of a file
conflict. It seems that as of Puppet 3.3.0, the manpages changed from
being owned by the puppet package, to being owned by the puppet-common
package. This change was initially done to allow upgrades from Debian
packages to ours. However, changing which package owns a given file
makes upgrades difficult. This commit adds in conflicts to allow smooth
upgrades from puppet packages prior to the manpage change to the current
version.
(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 pull request #2831 from melissaanne/ticket/stable/fix-conflict

(PUP-2878) file conflict upgrading from 2.7.26 to 3.6.2
(PUP-2944) Use osfamily to choose yum as a default

This commit changes the defaultfor from using the operatingsystem fact
to the osfamily fact. This is done so that we do not have to duplicate
effort of all the RedHat derivatives that use yum.

Signed-off-by: Charlie Sharpsteen <chuck@puppetlabs.com>
Merge pull request #2883 from Sharpie/pup-2944-yum-osfamily

(PUP-2944) Use osfamily to choose yum as a default
(maint) Cleanup specs for the `module` Face’s `install` action.

Prior to this change, the specs relied on a fragile chain of stubbed
expectations, which changes elsewhere in the application have rendered
incorrect and non-operational.

This change aims to improve these specs by stubbing less and making
more robust assertions about the data.
Merge pull request #2898 from pvande/maint/stable/cleanup-module-install-spec

(maint) Cleanup specs for the `module` Face’s `install` action.
(PUP-2943) Add PMT --ignore-changes

Prior to this commit there was no way to only ignore local changes to a module.
You had to --force when upgrading/uninstalling, which could potentially have other
repurcussions.
This commit adds the --ignore-changes flag, so a user can specify that they don't
care about local file changes but do not want to force anything else.
(PUP-2943) Uninstall/upgrade ignore changes spec

Adding more spec tests for the --ignore-changes flag on uninstall/upgrade
(PUP-2943) Clean ignore-changes uninstall logic
(PUP-2943) Update acceptance tests

Update wording to reflect --ignore-changes flag suggestion instead of --force.
Merge pull request #2899 from highb/fix/stable/pup-2943_ignore_changes_flag

(PUP-2943) Add PMT --ignore-changes flag
(maint) Confine enc_provides_node_when_store_configs_enabled to debian

This test has a long history of being weaned from troublesome platforms
where there are issues getting the packages installed.  The latest problem
child is centos5, now that epel is not enabled on our vcloud templates
by default.  So I'm just confining the test here to run only on debian
(except lucid, which is another problem child for this test).  Since
activerecord is slated to be removed as a store_configs backend in Puppet
4, this test is on the chopping block soon regardless.
Merge branch 'maint/stable/confine-store-configs-to-debian' into stable

* maint/stable/confine-store-configs-to-debian:
  (maint) Confine enc_provides_node_when_store_configs_enabled to debian