ActiveModel::Naming delegates instance #model_name

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:

* 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.