Added method `#eql?` to `ActiveSupport::Duration`, in addition to `#==`.

Currently, the following returns `false`, contrary to expectation:

    1.minute.eql?(1.minute)

Adding method `#eql?` will make this behave like expected. Method `#eql?` is
just a bit stricter than `#==`, as it checks whether the argument is also a
uration. Their parts may be different though.

    1.minute.eql?(60.seconds)  # => true
    1.minute.eql?(60)          # => false
Update RecordNotFound exception cases to include a message with the
Model that the Record was not found in.
Add a note on custom validation contexts.

The documentation on `:on` for validations was inconsistent, and most
only referenced the `:create` and `:update` contexts. I fixed those to
be consistent with the documentation on `AM::Validations.validates`,
which seemed to have the best docs.

[ci skip]
[ci skip] add guide for ActiveModel::SecurePassword
Roll back open transactions when the running thread is killed.
'Reversible' ->active_record_migrations [ci skip]

Reversible method documentation moved from migrations.md  to active_record_migrations.md
'Revert' ->active_record_migrations [ci skip]

Revert method documentation moved from migrations.md  to active_record_migrations.md
[ci skip] Fix some typos, normalize sentence.

Follow up of #16722.

https://github.com/rails/rails/pull/16722

also normalize all instance gained methods’ sentence.
Default to sorting user's test cases for now

Goals:

1. Default to :random for newly generated applications
2. Default to :sorted for existing applications with a warning
3. Only show the warning once
4. Only show the warning if the app actually uses AS::TestCase

Fixes #16769
ActiveJob Integration Tests
Merge pull request #16541 from cristianbica/activejob-integration-tests

ActiveJob Integration Tests
Merge pull request #16839 from chancancode/default_test_order

Default to sorting user's test cases for now
Fix typo
Set the test order to be random in the generated app

This will avoid the warning in our tests. We delete all the
config/environments/ files in the test app so our default code will not
work.
Set test order in ActiveSupport::TestCase of isolation/abstract_unit
Define the configuration at Active Support
Always define capture to remove the deprecation message
Changed the DangerousAttributeError exception message to include messaging that the conflict could be because of a conflicting attribute.
A `NullRelation` should represent nothing. Closes #15176.

[Matthew Draper & Yves Senn]

Closes #16860. (pull request to discuss the implementation)
switch `assert_operator` arguments as discussed in #16860.

Working with two different machines is hard :sweat: