Fix bug, when ':dependent => :destroy' option violates foreign key constraints, issue #12380
Use NameError#name to assert raised error.

This makes the test compatible with other Ruby implementations, which
may implement error messages differently.
Moved explanation of `--mountable` option up

The example code uses `--mountable`. In previous version this was followed by an explanation of the `--full` option, which doesn't make sense. Later on in the text this is better explained. I moved this explanation up without repeating too much.
skip migration check if adapter doesn't support it
Upgraded rack
As Rack has some non backwards compatible changes added required
modifications to keep behaviour in rails close to same as before.

Also modified generators to include rack/rack for not yet released
version of rack
Since upgrading rack we can remove unnecessary string encodings
https://github.com/rack/rack/commit/5a5aee36
Prevent state leak.
Remove redundant code.
If a counter_cache exists, use it for #empty?
Move cleanup into teardown, delete obsolete code.
Add test cases for Hash#asset_valid_keys
Fixed a regression introduced in 84cf156

84cf156 (PR #15694) introduced a subtle regression. There are actually three
distinct entry points to creating an AR object – via .new (i.e. #initialize),
via #init_with (e.g. from YAML or database queries) and via .allocate.

With the patch in 84cf156, attribute methods and respond_to? will not work
correctly when objects are allocated directly, without going through either

The reason this test case didn't catch the regression was that the `Topic`
class is shared between test cases, so by the time this test case is ran the
attribute methods are very likely to be defined.

Switching to use a fresh anonymous class in the test to ensure we surface this
problem in the future.
remove unnecessary substitution for space in ActionView::Helpers#debug
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`