skip migration check if adapter doesn't support it
Move cleanup into teardown, delete obsolete code.
Add test cases for Hash#asset_valid_keys
Add an option to skip installation of Turbolinks
/mysql/i -> MySQL, Spell correct in continuation to #15555
[ci skip] Use `an` for SQL
[ci skip] correct doc for `register_preview_interceptor`
remove unnecessary calling of `I18n.backend.store_translations(empty, {})`

Clean up I18n stored translations after test
continuation with #15714
Merge pull request #15738 from kuldeepaggarwal/remove-unwanted-code

remove unnecessary calling of `I18n.backend.store_translations('empty', {})`
Merge pull request #15739 from y-yagi/correct_doc_for_action_mailer_base

[ci skip] correct doc for `register_preview_interceptor`
allow preview interceptors to be registered through `config.action_mailer`.

This was partially broken because `preview_interceptors=` just assigned the
raw values, whithout going through `register_preview_interceptor`. Now the
Action Mailer railtie takes care of the `preview_interceptors` option.

This commit is a partial revert of:

Revert "Merge pull request #15739 from y-yagi/correct_doc_for_action_mailer_base"

This reverts commit a15704d7f35f17d34d0118546799141d6f853656, reversing
changes made to 1bd12a8609d275ad75fcc4b622ca4f5b32dc76be.

/cc @kuldeepaggarwal @y-yagi
Change the deprecation warning on `serialized_attributes`

to "without replacement"
Merge pull request #15741 from sgrif/sg-update-deprecation-message

Change the deprecation warning on `serialized_attributes`
Remove unused parameter.
Remove unused param 'separators' from RouteSet#build_path
Merge pull request #15745 from mmozuras/remove_unused_separators_param

Remove unused param 'separators' from RouteSet#build_path
Change Http::Cache::SPECIAL_KEYS from Array to Set

Slightly improves performance, for example, a simple benchmark:

```ruby
require 'benchmark/ips'
require 'set'

SPECIAL_KEYS = %w[extras no-cache max-age public must-revalidate]
SPECIAL_KEYS_SET = Set.new(SPECIAL_KEYS)
directive = 'must-revalidate'

Benchmark.ips do |x|
  x.report('array') { SPECIAL_KEYS.include?(directive) }
  x.report('set') { SPECIAL_KEYS_SET.include?(directive) }
end
```

Output:

```
-------------------------------------
   array     67926 i/100ms
     set     74054 i/100ms
-------------------------------------
   array  2318423.4 (±2.8%) i/s -   11615346 in   5.014899s
     set  3387981.8 (±4.7%) i/s -   16958366 in   5.019355s
```
Correct typo, add test for validates_absence_of, correct method names
Merge pull request #15748 from akshay-vishnoi/activemodel

Correct typo, add test for validates_absence_of
Merge pull request #15723 from akshay-vishnoi/sql-correction

[ci skip] Use `an` for SQL