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.
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
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.
'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
disable migrations logging while running test cases for AR schema tests
Add support for Rack::ContentLength middelware
Fix query with nested array in Active Record

`User.where(id: [[1,2],3])` was equal to `User.where(id:[1, 2, 3])`
in Rails 4.1.x but because of some refactoring in Arel this stopped
working in 4.2.0. This fixes it in Rails.

[Dan Olson & Cristian Bica]
Merge pull request #16793 from javan/comply_with_rack_content_length_middleware

Add support for Rack::ContentLength middelware
Ignore segfault build errors with 2.0.0 + mysql-ruby

Continuation of c9a43126c5e2c608ab3ff1be994bce69e815a144

:cry:
[guides] Use `match ..., via: :all` in the custom exceptions app [ci skip]

Using `get` results in an unexpected error page(returning empty body) for requests of other HTTP mehtods other than GET. Use `match ..., via:
:all` so the exceptions app can be more stable.
Merge pull request #16832 from yuki24/use-match-via-all-in-custom-exceptions-app

[guides] Use `match ..., via: :all` in the custom exceptions app [ci skip]
[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.
Convert string concatenations to substitutions
Prefer "if any?" to "unless empty?"

* Consistent whitespace
* Remove unnecessary parentheses
Fix warnings for undefined local variable

* Add private method primary_key_for, which more clearly shows that the
expected return value is nil when a primary key is not found.