Remove traces of 1.8 support

Shoulda Matchers 2.0 removed support for 1.8. This change removes Ruby
1.8 tests from travis and sets the minimum Ruby version in the gemspec.
Ruby 2.0 Support

* Add Ruby 2.0 support to the Appraisals
* Update travis to test 2.0.0 with the 3.2 gemfile. Clean up the travis
  matrix to favor the include syntax over exclude.
* Edit gemfile.locks to point to relative paths.
Spelling fixes
Add touch option to belongs_to matcher.

* Also fixes validate failing when specified on model but not on matcher.
Add odd & even number matchers for numericality matcher
Fixes max value detection in inclusion and exclusion validators
Use consistent formatting in NEWS.md
Fix a bug in the pretty_error_messages helper.

* Fixes an issue where matchers would fail on models
with an autosaved belongs_to association.
Add support for validation contexts.
Add `failure_message_for_should_not` to `validate_numericality_of`

As well as to its submatchers:
* OnlyIntegerMatcher
* OddEvenNumberMatcher
Bump version to 2.1.0
Fix have_and_belong_to_many assertion in Rails 4
Fixes validate_uniqueness_of when scope is taken

Re-implement how to get previous value in order to test
validate_uniquenes_of matcher, after the scope changes. This way, new
value should not be taken by a previous record. Fixes #207.
Add comparison submatchers to validate_numericality_of

You can now use the following with validate_numericality_of:

* is_greater_than (corresponds to :greater_than)
* is_greater_than_or_equal_to (corresponds to :greater_than_or_equal_to)
* is_equal_to (corresponds to :equal_to)
* is_less_than (corresponds_to :less_than)
* is_less_than_or_equal_to (corresponds_to :less_than_or_equal_to)
Update NEWS in conjunction with #244
Add failing spec for presence matcher
Don't swap failure messages in ValidationMatcher

It's not entirely clear why these were being swapped to begin with, but
it was causing messages to appear backwards in the presence validation
matcher.

Other matchers using these methods were tested by hand and still output
correct messages -- they too may have been backwards before this fix.
Bump to version 2.2.0
Extract submatchers from AssociationMatcher

Refactored AssociationMatcher so that `#order`, `#through`, and `#dependent`
would be their own submatchers. This reduces some of the clutter in the main class,
especially as we continue expanding it. In addition, a few related tests were
modified so that they would check failure messages also.
Swap out protected for private methods in AssociationMatcher

This also includes some method rearranging so that each would fall under the
correct scope.