Restore delegation matchers

This commit reverts 77dc477c
Restore delegate_method matcher

Matcher was removed in commit 77dc477c due to issues described in
https://github.com/thoughtbot/shoulda-matchers/issues/252

We've moved away from using Bourne and Mocha's `HaveReceived` matcher and
implemented a `StubbedTarget` class for spying on methods to be delegated.
We also removed the stub call to be handled via `define_method` for
framework-independent support.

Other changes include:

* Use 1.9 hash syntax in `delegate_method`
* Don't explicity test failure messages
Add more examples in README for DelegateMethod
Ensure independent matchers are widely available

The current form of including independent matchers for TestUnit does not
end up including it in `ActiveSupport::TestCase` tests in a Rails app.
This ensures that `Shoulda::Matchers::Independent` are available in
`ActiveSupport::TestCase`.
Revert "Remove 'strong_parameters' matcher"

This reverts commit 7e7fb14677fac1e151c93becc3636e7f6731cf51.
Remove dependencies for `StrongParametersMatcher`

Refactor the `StrongParametersMatcher` to work without depending on
bourne for spying on methods. Use an internal spying tool to provide
platform independence.

Other improvements include:

* Standardize `failure_message` method naming
* Properly detect when a matcher does not match
* Add documentation for `permit` matcher.
+ Add inverse of matcher for active record association
Update docs for validate_numericality_of matcher

Typo in the `is_less_than_or_equal_to` method
rescue_from now works with non-public methods
add ensure_inclusion_of link

In ActiveModel Matchers section, missing ensure_inclusion_of link.
Remove warning under Minitest 5

Under Minitest 5 (or a Rails 4.1 project), you will get a warning

    MiniTest::Unit::TestCase is now Minitest::Test.

when you attempt to run tests. This is because shoulda-matchers requires
'test/unit/testcase', even if Test::Unit is not being used.

It is not a good idea for shoulda-matchers to require *anything* that
the user may not be using, whether it's Test::Unit or RSpec. We should
assume that by the time shoulda-matchers is required, the user has
already required all of whatever test framework they are using, not none
or even some of that framework.
Add support to rails 4.1.0
Fix typo
Add missing description to #permit matcher
Fix Cucumber tests to run migrations in test env

Under the Rails 4.1 appraisal the Cucumber tests are failing because of
this error:

    Migrations are pending. To resolve this issue, run:

        bin/rake db:migrate RAILS_ENV=test
fix doc typo for validate_uniqueness_of
Update NEWS wrt Rails 4.1 compatibility
Do not permanently overwrite Parameters#[]

When stubbing the `ActionController::Parameters#[]` method, do not
permanently overwrite it. Restore the method after verifying simulating
the controller action.
Add missing entries to NEWS
Fix `belong_to` used with polymorphic association

For a polymorphic belongs_to association, the association doesn't
actually point to a class, it points to a concept, so we can't check
that the model it points to exists.