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
Merge pull request #103 from cristianbica/adapter-fixes

Fixed qu, queue_classic, sneakers adapters
lazily instantiate application subclasses

this means we can meaningfully override methods in the subclass
Fix DateTime comparison with DateTime::Infinity object

Fixes #16406
Test using turbolinks master

See
https://github.com/rails/turbolinks/commit/153f1b0f04c718442cfd73365a2778dfe1a1c5c7
Define id_was to get the previous value of the primary key

Currently when we call id_was and we have a custom primary key name
Active Record will return the current value of the primary key. This
make impossible to correctly do an update operation if you change the
id.

Fixes #16413