Fix migrations with enable_extension

When using ActiveRecord::Base.table_name_prefix and/or
table_name_suffix, extension names got the same treatment as table names
when running migrations. This led to migrations that tried to call, for
example, enable_extension("prefix_hstore") on the connection.
Hash#deep_*_keys(!) recurse into nested arrays.

Following methods now recursively transform nested arrays, too.

* Hash#deep_transform_keys
* Hash#deep_transform_keys!
* Hash#deep_stringify_keys
* Hash#deep_stringify_keys!
* Hash#deep_symbolize_keys
* Hash#deep_symbolize_keys!
Check authentication scheme in Basic auth

`authenticate_with_http_basic` and its families should check the authentication
schema is "Basic".

Different schema, such as OAuth2 Bearer should be rejected by basic auth, but
it was passing as the test shows.

This fixes #10257.
Run login_procedure only when the auth_scheme is valid
Fix serialized field returning serialized data after update_column
Fixes Issue #13466.

Changed the call to a scope block to be evaluated with instance_eval.
The result is that ScopeRegistry can use the actual class instead of base_class when
caching scopes so queries made by classes with a common ancestor won't leak scopes.
Allow custom asset host to be passed in asset_url
Improve documentation for asset_url

Updated CHANGELOG.md with entry about :host in asset_url
Fixed duplicate subscribers in ActiveSupport::Subscriber

ActiveSupport::Subscriber no longer creates multiple subscribers when
you redefine a method.
Add missing requires for require 'action_dispatch/routing'
Only path requirements are relevant to optimized urls

The bit of URL generation that is optimized is the generation of
the path so things like :host, :port, etc. are irrelevant.
Remove unused method in RouteSet test.
update ruby-oci8 version specification. Closes #15109. [ci skip]

/cc @yahonda
flexible ruby-oci8 version specification. [Gaurav Sharma]

Follow up to #15109.

/cc @Gaurav2728
Merge pull request #15116 from tgxworld/remove_unused_method_in_test

Remove unused method in RouteSet test.
Remove ruby-head from allow_failures matrix
Revert "Remove ruby-head from allow_failures matrix"

This reverts commit 5d2d301024cc0b17f26f6b454ac22a72f1db8a23.
Add RFC4791 MKCALENDAR method
Changed extract_limit in class Column to return correct mysql float and double limits
Merge pull request #14791 from asn62/mysql_double_bug

Changed extract_limit in class Column to return correct mysql float and
double limits