(Maint) Add windows gem dependencies

Hiera has dependencies on windows-specific gems that weren't expressed
in the Gemfile. This updates the gemfile, and pins the versions to what
we are currently shipping.
(Maint) Don't require json gem on non-ruby platforms

The json gem contains native extensions which won't compile on windows spec
boxes without the devkit installed.

This commit makes the json gem conditional upon the `ruby` platform, as is
done in facter and puppet.
(Maint) Skip test on Windows

A spec test fails on Windows, because ruby on windows doesn't exhibit the
crazy behavior that the test is trying to assert. Specifically, trying to
open /dev/null on Windows returns ENOENT, not TypeError.

This commit skips the test on windows, and removes the expect { }.to_not
business.
(hi-7) Restore missing windows-2003.cfg
Merge branch 'maint/stable/gemfile-dependencies' into stable

* maint/stable/gemfile-dependencies:
  (Maint) Skip test on Windows
  (Maint) Don't require json gem on non-ruby platforms
  (Maint) Add windows gem dependencies

Closes GH-160
(#23140) Support deploying to Solaris and Windows vcloud machines

Previously, the acceptance suite could only target linux boxen. This
commit adds beaker configs for solaris and windows, and also makes the
setup steps more cross-platform-friendly.

(cherry picked from commit 947cde6286ad159dc84ad7f0ff06011b663f24ff)
(Maint) Include json in the acceptance deps

Since puppet started depending on json, hiera tests need to make sure
that it is there.
(packaging) Update VERSION to 1.3.1
Merge tag '1.3.1' into stable

1.3.1

* tag '1.3.1':
  (packaging) Update VERSION to 1.3.1
Adds support for building hiera on RHEL7 via spec.
Add initial support for building in a RHEL 7 mock

Building in an x86_64 mock, since RHEL has not provided a 32-bit release.
Merge pull request #174 from mckern/add-el7-to-stable

Apply the RHEL7 work and merge it into stable
(CPR-12) Ensure hiera works with alternatives on debian

Previously the hiera install.rb call in the debian rules did not specify the
ruby binary to use for /usr/bin/hiera. This meant that on wheezy, with a
default ruby of ruby 1.9.3, it would have a shebang of /usr/bin/ruby1.9.1.
Similarly on a platform with a default of ruby 1.8, the shebang would be
/usr/bin/ruby1.8. This means that if the user later updates alternatives to
point to a different ruby, the binary will no longer function as expected. This
commit updates the ruby that will be inserted as the shebang to /usr/bin/ruby
so that alternatives will be more correctly handled.
Merge pull request #176 from haus/ticket/stable/cpr_12_update_install_rb_call_in_rules

(CPR-12) Ensure hiera works with alternatives on debian
(packaging) Update VERSION to 1.3.2-rc1
(HI-179) Add ability to log spec test order to a file

This commit is a copy of the implementation from
db0b27b52f60bf8cd2e7678009bbd00467b5f5ba of puppet, and I've included that
commit message below.

This commit tweaks the spec_helper to give it the
ability to log the spec test order to a file.  It
will only log the order if you have set the
environment variable "LOG_SPEC_ORDER", e.g.:

LOG_SPEC_ORDER=true rspec spec

This will be useful when using Nick L.'s bisect
script to identify order-dependent spec failures.
It should probably be enabled on all of our
Jenkins jobs, and would potentially allow us to
start running them with the random order flag
enabled.
(HI-179) Provide JUnit output for jenkins

This commit copies tasks/ci.rake and the ci:spec task from puppet
(5b723279b3ff14b1d411688f08608e669447c607). It also updates the Gemfile to
include the yarjuf gem in the developer/test sections.

Without JUnit style output we don't have a good way of seeing test
failures within jenkins. This adds a new rake task ci:spec that will
run with junit output, descriptive output and spec order logging.
(HI-179) Simplify and Rakeify acceptance tests

The hiera acceptance tests didn't use the puppet master nor server, they
only used puppet apply to setup the system. This means that we can use
half the number of VMs when running tests. It also means that there
isn't any need for much of the setup procedure that puppet uses.

In addition there is now a Rakefile and task for running the beaker
tests and a Gemfile to pull beaker in. It is modelled after what is done
in Puppet but doesn't copy everything there. We may bring more over in
time.
(HI-179) Test against RHEL7

This adds a rhel7 test configuration.
Merge pull request #177 from haus/maint/stable/spec_and_bundler_fixins

(HI-179) Test Hiera against Ruby 2