Seeing this implementation (which is the only way you can can do it -- since `between?` doesn't let you make it exclusive), makes me think that maybe we should change the `BeBetween` matcher to use `>=` and `<=` rather than `between?` for a few reasons:

* Someone can implement `between?` on their object in a way that's exclusive (rather than inclusive), which would make the matcher not be inclusive as documented.
* There are ruby objects that are comparable with `<`, `<=`, `>` and `>=` but do not respond to `between?`.  Those objects will work with this exclusive matcher but not with the inclusive one.  For example, classes: `expect(Integer).to be_between(Object, Fixnum)` -- they do not include `Comparable`, but do implement the comparison operators, and while it's a little odd, it's reasonable to say that `Integer` is between `Object` and `Fixnum` in the inheritance hierarchy.
* Using the comparison operators would allow us to reduce duplication: we could have a single matcher class, with `@less_than_operator` and `@greater_than_opeator` ivars that default to `<=` and `>=` but get changed to `<` and `>` when `exclusive` is called.  (The `(inclusive)` and `(exclusive)` bit in the description could be extracted into a variable as well).

@sferik -- as the original author of the `BeBetween` authors, what are your thoughts?