[ci skip] Updated where scope to conform to new style
`index_exists?` with `:name` checks specified columns.

[Yves Senn & Matthew Draper]

The column check was embodied in the defaul index name.
If the :name option was used, the specified columns were not verified at all.

Given:

```
assert connection.index_exists?(table_name, :foo_id, :name => :index_testings_on_yo_momma)
```

That index could have been defined on any field, not necessarily on `:foo_id`.
Merge pull request #16489 from tomkadwill/updating_options_to_new_style

[ci skip] Updated where scope documentation to conform to new style
[ci skip] fix spelling of override
Added ActionMailer::DeliverLater
AM, AP, AV, and AMo tests are already order_independent!
Duplicated method in the test helper
Reset ActiveSupport::Dependencies.mechanism to make tests order independent
AS tests are now order_independent!
Fix Railties tests that were order dependent
Railties tests are order_independent! Hopefully.
Merge pull request #16491 from akshay-vishnoi/doc-changes

[ci skip] fix spelling of overridden
[ci skip] correct default cache store class
actionmailer_tests_are_order_dependent!
Clean adapter_test.rb and skip test for sidekiq in unsupported rubies
use :test delivery method for `base_test.rb`

This solves errors like:

```
BaseTest#test_you_can_register_multiple_observers_to_the_mail_object_that_both_get_informed_on_email_delivery:
Errno::ECONNREFUSED: Connection refused - connect(2) for "localhost" port 25
    /Users/senny/.rbenv/versions/2.1.2/lib/ruby/2.1.0/net/smtp.rb:541:in `initialize'
    /Users/senny/.rbenv/versions/2.1.2/lib/ruby/2.1.0/net/smtp.rb:541:in `open'
    /Users/senny/.rbenv/versions/2.1.2/lib/ruby/2.1.0/net/smtp.rb:541:in `tcp_socket'
    /Users/senny/.rbenv/versions/2.1.2/lib/ruby/2.1.0/net/smtp.rb:551:in `block in do_start'
    /Users/senny/.rbenv/versions/2.1.2/lib/ruby/2.1.0/timeout.rb:91:in `block in timeout'
    /Users/senny/.rbenv/versions/2.1.2/lib/ruby/2.1.0/timeout.rb:101:in `call'
    /Users/senny/.rbenv/versions/2.1.2/lib/ruby/2.1.0/timeout.rb:101:in `timeout'
    /Users/senny/.rbenv/versions/2.1.2/lib/ruby/2.1.0/net/smtp.rb:550:in `do_start'
    /Users/senny/.rbenv/versions/2.1.2/lib/ruby/2.1.0/net/smtp.rb:520:in `start'
    /Users/senny/Projects/rails/.bundle/gems/mail-2.6.1/lib/mail/network/delivery_methods/smtp.rb:112:in `deliver!'
    /Users/senny/Projects/rails/.bundle/gems/mail-2.6.1/lib/mail/message.rb:2136:in `do_delivery'
    /Users/senny/Projects/rails/.bundle/gems/mail-2.6.1/lib/mail/message.rb:232:in `block in deliver'
    /Users/senny/Projects/rails/actionmailer/lib/action_mailer/base.rb:528:in `block in deliver_mail'
    /Users/senny/Projects/rails/activesupport/lib/active_support/notifications.rb:164:in `block in instrument'
    /Users/senny/Projects/rails/activesupport/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
    /Users/senny/Projects/rails/activesupport/lib/active_support/notifications.rb:164:in `instrument'
    /Users/senny/Projects/rails/actionmailer/lib/action_mailer/base.rb:526:in `deliver_mail'
    /Users/senny/Projects/rails/.bundle/gems/mail-2.6.1/lib/mail/message.rb:232:in `deliver'
    /Users/senny/Projects/rails/actionmailer/test/base_test.rb:598:in `block (2 levels) in <class:BaseTest>'
    /Users/senny/Projects/rails/actionmailer/test/base_test.rb:801:in `mail_side_effects'
    /Users/senny/Projects/rails/actionmailer/test/base_test.rb:593:in `block in <class:BaseTest>'
```
where the `:smtp` delivery method was leaked over to other test cases.
Correctly determine if migration is needed.

This method would assume that if last migration in the migrations
directory matched the current schema version, that the database was up
to date, but this does not account for new migrations with older
timestamps that may be pending.
Fix assert_template for files.

The test was not failing for `assert_template file: nil` when a file
has been rendered.
Missing ActiveSupport require for calling String#first
Merge pull request #16493 from aditya-kapoor/correct-cache-store-doc

[ci skip] correct default cache store class