Use #model_name on instances instead of classes

This allows rails code to be more confdent when asking for a model name, instead of having to ask for the class.

Rails core discussion here: https://groups.google.com/forum/#!topic/rubyonrails-core/ThSaXw9y1F8

NOTES:

* ActiveModel::Naming delegates instance `#model_name`. There are a few
  different ways we could handle this (see discussion at
  https://github.com/rails/rails/pull/15871), I'm open to suggestions.
* Normally, we would use include instead of extend if a module needs
  to add instance methods. However, that would be a HUGE breaking change.
* I think I found all of the instances of `x.class.model_name` and converted
  them, and all tests pass.