Update deprecated matcher protocol for RSpec 3.

The methods failure_message_for_should and failure_message_for_should_not
have been updated to failure_message and failure_message_negated respectively.
Alias to the old methods to remain backwards compatibility with RSpec 2.
Update NEWS
Bump to version 2.5.0
Convert to 1.9 hash syntax
Reject associations when class is not defined
Changed MIT License copyright year to 2014
We encourage you to use Shoulda w/ Test::Unit

* Hat tip: @billy2g
* Also, tweak words about non-Rails apps
README small fixes.
Convert to RSpec expect syntax
Fix warning about numerical submatcher shared group being defined twice
Fix I18n.enforce_available_locales warning

The warning message was:

  [deprecated] I18n.enforce_available_locales will default to true in
  the future. If you really want to skip validation of your locale you
  can set I18n.enforce_available_locales = false to avoid this message.
Remove mention of disallow_value from README

[ci skip]
Fix bad link in README
Set I18n.enforce_available_locales correctly

This setting is only available for I18n v0.6.9, so setting it for all
versions of Rails or I18n versions may not work.
Changed copyright at bottom of README also
Association matchers support :autosave option

has_one, has_many, belongs_to, and has_and_belongs_to_many relationships can
have an `:autosave` option, which causes the relevant associated records to be
automatically saved when their parent is saved.

This is based on a PR by @calebthompson, which I've brought up to date
with master.
Validate unique + allow_nil + has_secure_password

- Addresses #371
Fix incorrect examples in README
Use 1.9 hash expression
Sort .gitignore