Add `validate_uniqueness_of_(:foo).allow_blank`

This re-applies fcbc16e7d6e2affcdd760e8e05939bf6e0ed849a.
Add missing issue number [ci skip]
Remove unnecessary file
set_the_flash => set_flash
Deprecate set_the_flash in favor of set_flash
Reorganize set_session tests
Bring set_session in line with set_flash

* Deprecate `set_session(:foo)` in favor of `set_session[:foo]`
* Make both #[] and #to optional (`should set_session` simply checks
  that the session is non-empty, `should set_session.to('value')` checks
  that *any* value is 'value')
* Add support for regexps to #to
* Deprecate `should set_session(...).to(nil)` in favor of using
  `should_not set_session`
* Improve failure message
Move uniqueness validation to ActiveRecord module
Add documentation to validates_presence_of on qualifier

[ci skip]
Rename vars in delegate_method to match terminology in docs
Improve certain names of tests for delegate_method
Add with_prefix to delegate_method

Secondary author: Elliot Winkler <elliot.winkler@gmail.com>
Remove warning when running tests
Correct link to set_flash in README

[ci skip]
Revert "Remove unnecessary file"

This reverts commit c41ec119e9d02c70627eb90605135ddb3d5c6149.
Move test for validate_length_of to the right place
Fix warnings spy so it doesn't capture more things than necessary
Fix warning for this file
Be better about looking for warnings on Travis
Improve failure messages for failure message matchers