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
Add ActionController::Renderers.remove.
make the AST go from left to right, rather than right to left
Merge pull request #15178 from zuhao/refactor_actionpack_respond_with_test

Deregister csv renderer after test to prevent leak.
Add using_resouce_with_json to controller.
Merge pull request #15182 from zuhao/refactor_actionpack_respond_with_test_2

Un-define :to_json for Customer class after stubbing.
docs, `instantiate` expects `String` keys. [Rafal Piekarski & Yves Senn]

Closes #15122
Closes #15107
fix `rake test_sqlite3_mem`.

While running Sqlite3 memory tests I encountered the following error:

```
Finished in 69.416366s, 58.0267 runs/s, 162.3681 assertions/s.

  1) Error:
ActiveRecord::Migration::ChangeSchemaTest#test_add_column_with_timestamp_type:
NoMethodError: undefined method `type' for nil:NilClass
    /Users/senny/Projects/rails/activerecord/test/cases/migration/change_schema_test.rb:244:in `test_add_column_with_timestamp_type'

4028 runs, 11271 assertions, 0 failures, 1 errors, 1 skips
```

This was because the table `testings` was used in multiple test-cases.
This resulted in a wrongly cached schema on `ActiveRecord::Base.schema_chae`.

/cc @zuhao
Use generated binstubs in guides examples.

[ci skip]
Merge pull request #15192 from simi/guides-binstubs

Use generated binstubs in guides examples. [ci skip]
Distinguish rake assets:clobber from rake assets:clean
Fixed the inferred table name for HABTM within a schema

Fixes #14824.
Merge pull request #14965 from eric-chahin/issue_14824

Fixed the inferred table name of a HABTM auxiliar
Delegate `#type_cast` to injected type objects on SQLite3