Allow authentication header to not have to specify 'token=' key.

Fixes: https://github.com/rails/rails/issues/17108.
Correct test description for large integer test
Allow habtm class_name option to be consistent with other associations
Force table creation in tests

If something causes the teardown block to not get run (errors,
interrupting test runs), we have to manually delete them, which is a
pain.
rm `reorder_bind_params`

Arel handles this for us automatically. Updated tests, as BindParam is
no longer a subclass of SqlLiteral. We should remove the second argument
to substitute_at entirely, as it's no longer used
Remove the unused second argument to `substitute_at`

Oh hey, we got to remove some code because of that!
[PERF] Speed up integer type casting from DB

We don't have the check the range when the value is coming from the DB, so
override type_cast_from_database to short-circuit the extra work.

type_cast_from_database (small)  3437507.5 (±29.2%) i/s -   14223135 in   4.996973s
type_cast_from_database (large)  3158588.7 (±28.3%) i/s -   13265628 in   4.992121s
type_cast (small)                 481984.8 (±14.2%) i/s -    2352012 in   5.005694s
type_cast (large)                 477331.8 (±14.2%) i/s -    2332824 in   5.012365s

Comparison:
type_cast_from_database (small):  3437507.5 i/s
type_cast_from_database (large):  3158588.7 i/s - 1.09x slower
type_cast (small):                 481984.8 i/s - 7.13x slower
type_cast (large):                 477331.8 i/s - 7.20x slower

The difference is huge but the absolute gain is quite small. That being said
this is a hotspot and it showed up on the radar when benchmarking discourse.
:nail_care: Put escape clause first, keeps @sgrif happy :grin:

See comment on 6f7910a
Revert "[PERF] Speed up integer type casting from DB"

This reverts commit 6f7910a and 52c70d4.

Query params are type cased through the same method, so this approach doesn't work.
PERF: stop allocating the string "id" over and over
Merge pull request #17658 from SamSaffron/optimise_memory

PERF: stop allocating the string "id" over and over
fixed minor typos in RELEASE doc [ci skip]
Merge pull request #17660 from rishijain/update_docs_11

fixed minor typos in RELEASE doc [ci skip]
Ruby on Rails 3.0 Release Notes: fix broken link
Merge pull request #17665 from javiervidal/fixing_documentation

Ruby on Rails 3.0 Release Notes: fix broken link
Remove call to `key?` in `LazyAttributeHash#[]`

Performance improvement, as well as improved code clarity
LazyAttributeHash is private
Remove needless call to `key?` when building attributes

This appears to be a performance hotspot, see #17655.
Make sure assert_select can assert body tag

This reverts commit f93df52845766216f0fe36a4586f8abad505cac4, reversing
changes made to a455e3f4e9dbfb9630d47878e1239bc424fb7d13.

Conflicts:
	actionpack/lib/action_controller/test_case.rb
	actionview/lib/action_view/test_case.rb
Speed up integer casting from DB

We don't have the check the range when the value is coming from the DB,
so override type_cast_from_database to short-circuit the extra work.
The difference is huge but the absolute gain is quite small. That being
said this is a hotspot and it showed up on the radar when benchmarking
discourse.