Add RSpec::Matchers::BuiltIn::BeBetween

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

* Numeric (Fixnum, Bignum, Integer, Float, Complex, and 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 minimum
and a maximum value--mimicking the interface of Comparable.html#between?
and ensuring backward compatibility.

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 displaying
the expectation in plainer English.
Alphabetize/organize built-in matchers
Define custom predicate method to test description generation
Note that between is inclusive of min and max values and test edge cases
Make BeBetween composable
Test against JRuby and MRI at head
Merge pull request #405 from sferik/be_between

Add RSpec::Matchers::BuiltIn::BeBetween
A few post-merge fixups.

- Add changelog entry.
- Don't double-include `Composable` (it's included in `BaseMatcher`)
- Improve composable spec so that it tries to match against a value
  that does not respond to `between?`. (Nothing failed when I removed
  the `comparable?` check from `matches?`).
- Spec the failure message for non-comparables.
- Don't put `actual.inspect` in the failure message twice. Sometimes
  `inspect` output can be very large, and we usually just put it
  in the failure message once.
- Leverage more of BaseMatcher (e.g. for `failure_message_when_negated`).
Handle composed expressions of mixed types.
Stop colorizing colorized diffs
Correctly colorize diffs

We have to reset lines that we want to not be red, as this shows as part
of a failed example.
Make DiffPresenter end all hash entries with comma

This fixes a bug where identical entries would show up as an added and a
subtracted line (that differed in the trailing comma) if they were the
last entry in one hash but not the other.
Remove dead code.
Simplify `DiffPresenter#object_to_string`
Fixed generated description for 'eq ["foo"]'
Draft of output_to_stdout and output_to_stderr matchers
Updated truthiness docunmetation for built_in_matchers
Merge pull request #411 from danielmurphy/truthy_docs

Updated truthiness docunmetation for built_in_matchers
Use preferred falsey in docs.
Implement exclusive mode in be_between