Cleanup loaded features and constants after dependency tests.
Explicit route test class

shows the class that the test must extend in order to have the assert_routing method available
Fix that a collection proxy could be cached before the save of the owner, resulting in an invalid proxy lacking the owner’s id.

Absent this fix calls like: owner.association.update_all to behave unexpectedly because they try to act on association objects where
owner_id is null.

more evidence here: https://gist.github.com/Empact/5865555
```
Active Record 3.2.13
-- create_table(:firms, {:force=>true})
   -> 0.1371s
-- create_table(:clients, {:force=>true})
   -> 0.0005s
1 clients. 1 expected.
1 clients updated. 1 expected.
```

```
Active Record 4.0.0
-- create_table(:firms, {:force=>true})
   -> 0.1606s
-- create_table(:clients, {:force=>true})
   -> 0.0004s
1 clients. 1 expected.
0 clients updated. 1 expected.
```
FileHandler should not be called for files outside the root

FileHandler#matches? should return false for files that are outside the
"root" path.
If Rails is not defined, check ENV["RAILS_ENV"] and ENV["RACK_ENV"].

This fixes a regression introduced by 6cc03675d30b58e28f585720dad14e947a57ff5b.

ActiveRecord, if used without Rails, always checks the "default_env" environment. This would be OK, except that Sinatra also supports environments,
and it runs with {RACK|RAILS}_ENV=production. This patch adds a fallback to RAILS_ENV and RACK_ENV (and ultimately default_env) if Rails.env doesn't exist.
copy reflection_scopes’s unscoped value when building scope for preloading, fixes #11036
[ci skip] Add missing blank line to AR validation.
[ci skip] No need to indent here (AC overview).
[ci skip] Add highlight to code (form helper guide).
Make `String#remove` and `String#remove!` accept multiple arguments
:nodoc: for abstract_mysql_adapter
better example for tokenizer lambda [ci skip]

Splitting on whitespace makes more sense in the context of counting words in an
essay.
Merge pull request #17427 from dwo/master

better example for tokenizer lambda [ci skip]
Merge pull request #17411 from mcfiredrill/doc-change-column-default-abstract-mysql-adapter

document change_column and change_column_default for abstract_mysql_adapter [ci skip]
On larger screens the email preview iframe is being limited to a height of 800 pixels, and the full available screen size is not being used.
Merge pull request #17429 from edwinwills/full-height-email-preview

The email preview iframe height is fixed and does not scale to the browser size
Do gsub with a regexp instead of a string
[ci skip] Fixes typos in section 2.7 "Rails Html Sanitizer", adds content to section 2.8 "Rails DOM Testing"
Merge pull request #17431 from hbriggs/upgrade_guide_2.7_2.8

Update 2.7 & 2.8 of upgrading_ruby_on_rails.md [ci skip]
correct GlobalID mixin name in the guides