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.
Fixed a problem where `sum`, `size`, `average`, `minimum` and `maximum` used
with a grouping was not returning a Hash.
Put attr_reader in with all of the other instance methods

This makes the grouping make a little more sense
Distinguish rake assets:clobber from rake assets:clean
Delegate `#type_cast` to injected type objects on SQLite3
Merge pull request #15197 from sgrif/sg-delegate-type-cast-sqlite3

Delegate `#type_cast` to injected type objects on SQLite3
Fix confusing exception in ActiveSupport delegation
Delegate type_cast to injected type object in mysql
Have Postgres OID types inherit from general types

Using general types where possible. Several more can go away once
infinity gets figured out.
Merge pull request #15198 from sgrif/sg-delegate-type-cast-mysql

Delegate type_cast to injected type object in mysql
Use general types for mysql fields
Replace `type_cast` case statement with delegation

All subclasses of column were now delegating `type_cast` to their
injected type object. We can remove the overriding methods, and
generalize it on the `Column` class itself. This also enabled us to
remove several column classes completely, as they no longer had any
meaningful behavior of their own.
Merge pull request #15199 from sgrif/sg-types-mysql

Use general types for mysql fields
fix multiple hash preloads.  Fixes #14994
Merge pull request #15201 from sgrif/sg-types-postgresql

Have Postgres OID types inherit from general types
make the each visitor top-down left-right