(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
Merge pull request #178 from zaphod42/issue/stable/HI-179-rhel7-acceptance-tests

(HI-179) Test against RHEL7
(packaging) Update VERSION to 1.3.2-rc1
Merge tag '1.3.2-rc1' into stable

1.3.2-rc1

* tag '1.3.2-rc1':
  (packaging) Update VERSION to 1.3.2-rc1
(HI-115) Add failing test for repeated lookups

PR #152 broke a common use case:

    interpolate %{this} and %{this} again

Since each interpolation scans the entire input string and shares the same
recursion guard, this causes an InterpolationLoop error to be raised.
(HI-115) Process interpolation sites in isolation

Previously, `Hiera::Interpolate.interpolate` re-scanned the entire input string
on each recursive call. This meant all interpolations shared the same recursive
guard and repeated interpolations of the same key were falsely identified as
recursion.

This commit refactors the `Hiera::Interpolate.interpolate` method so that it
performs interpolation inside a blocked gsub. This means interpolation logic is
executed once in isolation per interpolation site in the input string.
Remove substiution in interpolation functions

Now that interpolation functions are processing individual interpolations
instead of the entire input string there is no longer a need for them to
perform string substitution.
Merge pull request #181 from Sharpie/HI-115-repeated-lookups

(HI-115) Fix regression in repeated lookups
Merge remote-tracking branch 'upstream/stable'

* upstream/stable:
  Remove substiution in interpolation functions
  (HI-115) Process interpolation sites in isolation
  (HI-115) Add failing test for repeated lookups
  (packaging) Update VERSION to 1.3.2-rc1
  (HI-179) Test against RHEL7
  (HI-179) Simplify and Rakeify acceptance tests
  (HI-179) Provide JUnit output for jenkins
  (HI-179) Add ability to log spec test order to a file

Conflicts:
	acceptance_tests/Gemfile
	spec/spec_helper.rb