Creating a template for ApplicationModel.

The application model will keep all of the Active Record configurations,
instead of sending the configurations directly to ActiveRecord::Base.
This means it will be possible to configure multiple applications if
each application has its own ApplicationModel.

Also, changing some tests to correspond to these changes.
Adding ApplicationModel to the test helper.

The Active Record tests should now include inside of it an
ApplicationModel.
Using ApplicationModel in Active Record tests.

This replaces the current use of ActiveRecord::Base in most tests.
Changing the models.
Creating ApplicationModel methods.

These methods will be used by the ApplicationModel to send the correct
configuration.
Method for finding the correct application model.

This method first checks to see if an application configuration is
defined, then gets the correct ApplicationModel. Reverts to
ActiveRecord::Base if it can't find anything.
Changing comments to use ApplicationModel.

The comments have become outdated since the creation of the
ApplicationModel. Now, the model classes should inherit from
ApplicationModel instead of ActiveRecord::Base.
Renamed ApplicationModel to ApplicationRecord.

This new name is less general and more appropriate since these changes
are limited to Active Record.
Class.new in AR test subclass ApplicationRecord

Before they were subclassing ActiveRecord::Base. With the introduction
of ApplicationRecord, these tests should actually be subclassing
ApplicationRecord.
Fixing superclass path.

The +instance_method_already_implemented?+ method needs to be aware that
you should get the super method when the superclass is an
ApplicationRecord as well.
Use ApplicationModel in the Rails guides.

The ApplicationModel should replace all instances where models subclass
from ActiveRecord::Base.
Changing READMEs to refer to ApplicationRecord.
Changing the guides: explanation for ApplicationRecord.
Using ActiveRecord::Base.application_record.

This method gets the correct application record that is currently
defined. This will be used in place of ActiveRecord::Base to access
configurations.
Removing configs_from.

This feature is currently unused so it should be removed. This should be
implemented when multiple applications are ready to be used in a single
ruby process.
Backwards compatibility for ApplicationRecord.

If ApplicationRecord is not defined, then we should fall back to
ActiveRecord::Base without anything breaking.
Adding application record tests.

Tests to make sure that all of the functionality of ApplicationRecord
exists, specifically namespacing and inheritence of configurations.
Writing configs_from and tests for application configuration.
Documenting the application configuration module.
Application Record tests should reset configurations.

We need to reset the configurations so that Active Record configurations
are set back to their defaults.