Add new built-in matcher RSpec::Matchers::BuiltIn::BeBetween

Ruby's #between? instance method is included in the Comparable module.
Any object the mixes in Comparable and responds to the <=> operator will
also respond to #between?, including the following core classes:

* Numeric (Fixnum, Bignum, Integer, Float, Complex, Rational)
* String
* Symbol
* Time

...as well as a few lesser-used ones (e.g. File::Stat, Gem::Version).

BeBetween defines a matcher that takes exactly two arguments, a max and
min value, mimicing the interface of Comparable.html#between?. Before
this patch, using be_between on Comparable objects worked but produced
the following failure message:

    expected between?(1, 10) to return true, got false

After this patch, it will produce this message, instead:

    expected 5 to be between 1 and 10

I believe this is a much more informative failure message, as it reveals
the actual value, which is often a variable, in addition to the
expectation in plainer English.