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
SQLite3Adapter now checks for views in table_exists? fixes: 14041
Update RecordNotFound exception cases to include a message with the
Model that the Record was not found in.
Updating Associations::Preloader docs

Much of the previous documentation introduced features new in 2011. This
commit refreshes it to provide clearer code examples and spends more
time describing the normal case (preloaded associations) and less time
describing the fallback.

[ci skip]
Roll back open transactions when the running thread is killed.
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
Remove extra newline from ActiveJob test template
[ci skip] change the line orientation on asset precompile page
Allow included modules to override association methods.

Closes #16684.

This is achieved by always generating `GeneratedAssociationMethods` when
`ActiveRecord::Base` is subclassed. When some of the included modules
of `ActiveRecord::Base` were reordered this behavior was broken as
`Core#initialize_generated_modules` was no longer called. Meaning that
the module was generated on first access.
Merge pull request #16850 from aditya-kapoor/correct-line

[ci skip] change the line orientation on asset precompile page
Merge pull request #16849 from y-yagi/patch-1

Remove extra newline from ActiveJob test template
introduce `connection.supports_views?` and basic view tests.

`AbstractAdapter#supports_views?` defaults to `false` so we have to turn it on
in adapter subclasses. Currently the flag only controls test execution.

/cc @yahonda
Merge pull request #14056 from girishso/14041

SQLite3Adapter now checks for views in table_exists? fixes: 14041

Conflicts:
	activerecord/CHANGELOG.md
add test-cases for primary-key-less-views. Closes #16555.
models backed by views don't assume "id" columns are the primary key.

Closes #10247.

The same goes for tables with an "id" column but without primary key constraint.
Reading from the view works without configuration. If you have an updateable view
you need to use `self.primary_key = ''`.
Oracle does not support `IF EXISTS` for `DROP VIEW`.

/cc @yahonda
Removed any default margin from body.
Merge pull request #16855 from slavingia/patch-1

Removed any default margin from mail preview body.
[ci skip] application.rb -> development.rb in web-console docs
Merge pull request #16858 from y-yagi/fix_web_console_docs

[ci skip] application.rb -> development.rb in web-console docs