Extract AR::Core#inspect and AR::Core.inspect's test code from base_test.rb

The methods got moved to core.rb in commit
b2c9ce341a1c907041f55461aefebb0321280cb5, but the tests never did.
Extract AR::AttributeMethods#attribute_for_inspect's test code out from base_test.rb

The method itself got extracted out from ActiveRecored::Base in commit
ceb33f84933639d3b61aac62e5e71fd087ab65ed, but the test code never did.
use drop rather than calculate the array length
fold the collection rather than multiple assigments
just set the default argument, a nil parent should be an error
reverse comparison because of strange AS behavior

http://tenderlovemaking.com/2013/05/21/one-danger-of-freedom-patches.html
Extract AR::Persistence#becomes's test code out from base_test.rb

The method got extracted out from AR::Base in commit
d916c62cfc7c59ab6411407a05b946d3dd7535e9, but the tests never did.
Add ActiveModel requirement to application.rb

Currently, ActiveModel is only loaded by ActiveRecord. If you skip ActiveRecord, ActiveModel will not be required (or even autoloaded) and including `ActiveModel::Model` into a plain Ruby class will raise `NameError`.

To reproduce this:

- create a new app with `rails new my_app -O`
- create a Ruby class that includes `ActiveModel::Model` in `app/models`
- load up a Rails console and try to do anything with the class :-)

Since ActionPack relies so heavily on the ActiveModel API, this should probably be considered a dependency of the app. Another possibility would be to make it a dependency of ActionController.
Merge pull request #10722 from jgaskins/patch-1

Add ActiveModel requirement to application.rb
Merge pull request #10714 from tkhr/extract_test_from_base_test.rb_in_AR

Extract tests code out from AR's base_test.rb