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
Propagate test messages through assert_routing helper, Fixes #14908

assert_routing was not raising the message passed into the assertion
violation that it raised. This change propagates messages through
the on_fail error.

This fixes this error:
https://github.com/rails/rails/issues/14908

A test case for this issue is located here.
https://github.com/estsauver/test14908

To see that test case fail in the example app, just run
ruby -Itest test/controllers/guests_controller_test.rb
Update RecordNotFound exception cases to include a message with the
Model that the Record was not found in.
reset_column_infomation shouldn't be part of the assertion.
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]
Preparing for 4.2.0.beta1 release
provide a builder for form labels to customize wrapping around I18n content
Added enqueue_at support for QueAdapter in ActiveJob

* Added inline job runner for Que in test/support
* Updated QueAdapter to support enqueue_at
adding the exception RecordNotFound to UUID find
add I18n support for `:placeholder` HTML option is passed to form fields
just use the placeholder tag value if it is passed as a String
Implemented enqueue_at for ActiveJob's Backburner adapter
Active Job guide: Add info about queue_name prefix and clarity supporter features
Roll back open transactions when the running thread is killed.
Merge pull request #16642 from cristianbica/aj-doc-queue-name-prefix

Active Job Guide: Example of config queue_name_prefix [ci skip]
Merge pull request #16641 from cristianbica/aj-backburner-enqueue-later

Implemented enqueue_at for ActiveJob's Backburner adapter
Don't calculate in-place changes twice

Now that `changed_attributes` includes in place changes, we don't need
to override these methods in Active Record. Partially fixes the
performance regression caused by #16189