Make AS::SafeBuffer#prepend act like String#prepend

Make `#prepend` method modify instance in-place and return self
instead of just returning modified value. That is exactly what
`#prepend!` method was doing previously, so it's deprecated from
now on.
PostgreSQL, Support for materialized views. [Dave Lee & Yves Senn]

Expand the query used in #table_exists? to include materialized views in the
kinds of relations it searches.
We can conditional define the tests depending on the adapter or
connection.
Merge pull request #14565 from rajcybage/conditional_test_cases

We can conditional define the tests depending on the adapter or connection.
DRY AS::SafeBuffer a bit using existing helper
Fixed small documentation typo

Using `Rails.application.config.cookies_serializer :hybrid` throws an exception, fixed to `=`.
Merge pull request #14568 from alex88/patch-1

Fixed upgrade guide typo
Merge pull request #14529 from rwz/master

ActiveSupport::SafeBuffer#prepend inconsistency
Use asert_deprecated
Revise 'sqlite3:' URL handling for smoother upgrades

Restore the 4.0 behaviour for 'sqlite3:///', but deprecate it. We'll
change to the absolute-path interpretation in 4.2.

The current "correct" spellings for in-memory, relative, and absolute
URLs, respectively, are:

    sqlite3::memory:
    sqlite3:relative/path
    sqlite3:/full/path

Substantially reverses/defers fbb79b517f3127ba620fedd01849f9628b78d6ce.
Uncovered by @guilleiguaran while investigating #14495, though that
sounds like a different issue.
Complete change of `sqlite3:///` path handling

That which was now relative is now absolute.
Move require to actual file

Change to require all active_support/deprecation since that's the actual
entry point for the deprecation methods.
Fix cookie serializer docs

The option actually needs to be set on action_dispatch. [ci skip]
Avoid a spurious deprecation warning for database URLs

This is all about the case where we have a `DATABASE_URL`, and we have a
`database.yml` present, but the latter doesn't contain the key we're
looking for.

If the key is a symbol, we'll always connect to `DATABASE_URL`, per the
new behaviour in 283a2edec2f8ccdf90fb58025608f02a63948fa0.

If the key is a string, on the other hand, it should always be a URL:
the ability to specify a name not present in `database.yml` is new in
this version of Rails, and that ability does not stretch to the
deprecated use of a string in place of a symbol.

Uncovered by @guilleiguaran while investigating #14495 -- this actually
may be related to the original report, but we don't have enough info to
confirm.
Avoid including DB details in exception messages

The keys are quite sufficient; we shouldn't be throwing passwords
around.
Fix default_url_options example in i18n guide [ci skip]
Merge pull request #14564 from killthekitten/patch-2

Fix default_url_options example in i18n guide
In Active Record Querying guide, currently `Merging of scopes` section uses a concept of default scope in its example before it is introduced in the following section titled `Applying a default scope`.

It makes more sense to switch the ordering to introduce default scopes (`Applying a default scope`) first and then go into `Merging of scopes` section where it is used.
Add ConnectionHelper to refactor tests.
Merge pull request #14576 from ariabov/scope_sections_reordering

Change order of scope subsections in Active Record Querying guide [ci skip]