Using RSpec 3 for development

Now that RSpec 3 has been released, I'm trying to move `shoulda-matchers` spec suite to run on it.

I've put all Rails with exception of 4.1 to run with RSpec 2.99 to keep compatibility with RSpec 2.


Changes to internal helpers `:fail_with_message` and `:fail_with_message_including`:
* [x] Adding `#supports_block_expectations?`;
* [x] Changing `failure_message_with_should` and `failure_message_with_should_not` to new `failure_message` and `failure_message_when_negated`;
* [x] Aliasing `failure_message` and `failure_message_with_negated` to `failure_message_for_should` and `failure_message_for_should_not` to maintain compatibility with RSpec 2;
* [x] Make cucumber use RSpec version depending on which version has been set.

Smaller changes:
* [x] Replacing `be_true`, `be_false` and `be_nil` with `be true`, `be false` and `be nil`;
* [x] Replacing `pending` with `skip`;
* [x] Using `type` instead of `path` to include `Shoulda::Matchers::ActionController`
* [x] Fix jbuilder version on 4.1 sometimes being required as `1.2` as opposed to the required `2.0`.

I'd like to go further and make `shoulda-matchers` cucumber suite run for both RSpec 2 and RSpec 3 to really maintain compatibility, but first I'd like to merge this in.
Can you do this? Define a method in a block like this? I'm just wondering if this indicates we should make this file into a proper matcher class instead.