Add an after_bundle callback in Rails templates

The template runs before the generation of binstubs – this does not
allow to write one, that makes an initial commit to version control.
It is solvable by adding an after_bundle callback.
Call public methods rather than class_eval'ing
Remove unused text? predicate method and delegation

The method has been removed in 09206716f8695f6b8467f15c1befa5a4c3c10978
(PR #16074), but the delegation was apparently missed, and one instance
of the method was added back with the addition of OID::Xml in
336be2bdf7dfa1b31879d0ab27e5f3101b351923 (PR #16072), so we can safely
rm both.
Bring back the helpers tests

Also keep the hook as other tools may rely on it,
we just don't do anything by default on Rails.
Fix AS docs / changelog with wrong method [ci skip]
Cleanup Transaction inheritance.

Transaction class doesnt need to encapsulate the transaction state using
inheritance.
This removes all Transaction subclasses, and let the Transaction object
controls different actions based on its own state. Basically the only
actions would behave differently are `being`,`commit`,`rollback` as they
could act in a savepoint or in a real transaction.
Moved #create! method from Validations to Persistence module
Merge pull request #16404 from bogdan/move-create-with-bang

Moved #create! method from Validations to Persistence module
Add after_bundle to the release notes and upgrade guide
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.
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.
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