Allow multiple StrongParametersMatchers to exist at once.

The provided RSpec example looks a bit contrived, but it corresponds to
this perfectly reasonable Minitest test case that was not working:

  class UserControllerTest < ActionController::TestCase
    should permit(:name).for(:create)
    should_not permit(:admin).for(:create)
  end

This instantiates two matchers at class load time, which resulted in the
second one overriding the double collection of the first one. Then when
the tests are executed, the first matcher would fail, because its double
is not listening to ActionController::Parameters#permit -- only the
second matcher's double collection gets activated.

This is fixed in Doublespeak by only creating one double collection per
class.
Add `validate_uniqueness_of_(:foo).allow_blank`

Complements [`validates_uniqueness_of(:foo, allow_blank:
true)`](http://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html#method-i-validates_uniqueness_of).
Revert "Add `validate_uniqueness_of_(:foo).allow_blank`"

This reverts commit fcbc16e7d6e2affcdd760e8e05939bf6e0ed849a.

This commit is slated for the 2.7.0 release.
Add a script to install appraisals in all supported Rubies
Use same assertion class as Rails, if loaded

Given this scenario:

* Using Rails 4.1
* Gemfile has `gem 'shoulda-matchers', require: false`
* spec_helper has `require 'shoulda/matchers'` following
  `require 'rspec/rails'`
* Using Spring to run tests

matchers that delegate to assertions in Rails (e.g. `render_template`
and `route`) will fail in the wrong way if used. They fail because in
order to use these assertions, we expect that the assertions will
raise a specific exception, an exception that corresponds to whichever
test framework that Rails is using. For Rails versions that used
Test::Unit, this is Test::Unit::AssertionFailedError. For current Rails
versions, which now use Minitest, this exception is Minitest::Assertion.

The problem is that instead of asking Rails which exception class it's
using, we are trying to detect this exception class ourselves (for
cases in which Rails is not being used). This leads to the wrong class
being detected: when using a Rails version that uses Minitest, we choose
Test::Unit::AssertionFailedError as the class. This happens using the
exact scenario above because even though shoulda-matchers is loaded
after rspec-rails, rspec-rails itself defines
Test::Unit::AssertionFailedError.
Update NEWS too
We actually didn't want to include this
Add spring and spring-commands-rspec to Appraisals
Fix running Cucumber tests on Rails 4.0.0 and Ruby 1.9.2
Regenerate Appraisals
Spring doesn't work on Rails < 3.2
Move pry to env.rb
WIP
Remove spring dependency from Rails < 3.2 and Ruby < 1.9.3