ensure_inclusion_of works with a decimal column
Fix converting association options to a Relation

Under Rails 3 when using an association matcher in conjunction with a
submatcher such as #order, we have to take the options on the
association (:conditions, :order, etc.) and convert them to an
ActiveRecord::Relation object. This happens in ModelReflector.

Unfortunately, converting an :includes option was broken. This is in
part due to ModelReflector not having proper tests, but also, the method
that does the conversion to Relation is rather complex and could be
broken up so it can be tested better. In fact I noticed that there's a
lot of stuff in ModelReflector that does stuff around a Reflection
object, so it would be better to define a ModelReflection class that
simply decorates a Reflection. That's what I've done and also added
proper tests.
Rewrite the README

* Add comprehensive examples for every method in the API
* Change Shoulda references to shoulda-matchers
* Mention that we use SemVer
Change `validate_uniqueness_of_matcher` to use 'a' as test value

Previously `validate_uniquness_of_matcher` created records with a
string of 16 characters in length. If the column under test test
had a limit of fewer than 16 characters it would fail.
Use 1.9 style hashes in `validate_uniqueness_of_matcher` files
Don't override BUNDLE_GEMFILE until after running bundle install
Merge branch 'master' into emw-auto-retry-bundle-install