only look up scope level once

avoid hash lookups and remove depency on the instance
Finally! None of our tests are order_dependent!
move scope_level to a method on the scope object

now we don't have to have a hard coded key
move the scope level key fully inside the scope object
scope_level is no longer a hash key, just use the ivar
change to attr_reader
reduce calls to scope_level

this will help us to encapsulate magical symbols so hopefully we can
eliminate hardcoded magic symbols
ask the scope for the action name
ask the scope object if it is a resource_method_scope
Merge pull request #16027 from tgxworld/template_assertions

Fixes to ActionController::TemplateAssertions
Clear validators before and after each test

Or some tests fail when run in random order
remove deprecated `MissingHelperError` proxy.

The error was moved outside of the `ClassMethods` module.
ಠ_ಠ now that the commit sha is known I can add it to the relese guide.
Format
Make sure that fixtures are loaded before finding
[ci skip] updated 'where' in association documention to new style syntax
Merge pull request #8813 from greyblake/dont_write_timestamps_if_they_are_not_attributes

Write timestamps only if there are timestamps columns

Conflicts:
	activerecord/CHANGELOG.md
Ignore SCHEMA queries in some habtm tests
Fixed AR::Relation#where edge case with Hash and other Relation

Example:

  Author.where(posts: { author_id: Author.where(country_id: 1) }).joins(:posts)
Make ActionMailer::Previews methods class methods.