Fix digest ETAG test.

After
https://github.com/rack/rack/commit/12528d4567d8e6c1c7e9422fee6cd8b43c4389bf
ETag will include a `W/` before the digest.
Merge pull request #16405 from arthurnn/fix_digest_etag_test

Fix digest ETAG test.
[ci skip] Document PublicExceptions middleware
We don't need parenthesis for this
just assign the instance variables on the test
Merge pull request #16364 from arthurnn/make_transaction_one_class

Clarify Transaction responsibilities by breaking unneeded inheritance hierarchy.
[ci skip] document ActionDispatch::FileHandler
[ci skip] Document ActionDispatch::Static
no reason to lazily instantiate the routes

especially if you're just going to add a call two lines down that
populates the cache. common.
a rails application should be an engine subclass
call the routes method on engines

if we access the instance, we can free up lots of codes
Revert "Revert "Merge pull request #15394 from morgoth/fix-automatic-maintaining-test-schema-for-sql-format""

This reverts commit 5c87b5c5248154cf8aa76cce9a24a88769de022d.
schema rake tasks are specific about the configuration to act on.

The rake tasks and the `DatabaseTakss` adapter classes used to
assume a configuration at some places. This forced the rake
tasks to establish a specific connection before calling into
`load_schema`.

After #15394 this started to cause issues because it could
`purge` the wrong database before loading the schema.
Merge pull request #16316 from rails/senny/purge_schema_maintenance

purge database before loading schema, take 2
Merge pull request #16359 from skanev/after-bundle-in-rails-templates

Add an after_bundle callback in Rails templates

Conflicts:
	railties/CHANGELOG.md
Merge pull request #16402 from bogdan/select_with_empty_block

Fixed #select form builder helper to support block without html output
defined? should actually work in current implementation

So this trick is not needed to be documented anymore.
Allow password to contain spaces only.
Fixed qu, queue_classic, sneakers adapters
refactor Redirecting so we do not need a controller instance