Define the Duration#instance_of? method

Since Duration is extending from ProxyObject which extends itself from
BasicObject, the Duration object doesn't respond to the #instance_of?
method. Thus, the #method_missing hook get triggered, delegating the
method to its `value` attribute.

However, Rubinius' #eql? definition relies on #instance_of?, thus this
will equal to true with a Fixnum (since its `value` attribute is a
Fixnum) while it should not.

The previous behavior was wrong anyway, no matter the implementation.
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
Don't fight against ourselves for the default log level

If we want to always default to :debug, let's just do that.

At which point the production.rb entry can become an "uncomment to
change" instead.
Replacing an each with reduce

The functionality has not changed, but the code is more elegant by
using `reduce` instead of `each`.

This way no accumulator needs to be declared, no explicit return is
needed.
Using `each_with_object` instead of `reduce`

This way no new object allocation is taking place. Thanks @jeremy for
the suggestion!
Merge pull request #16560 from robin850/rbx-duration-eql

Define the Duration#instance_of? method
Merge pull request #16626 from adomokos/replacing-each-with-reduce

Replacing an each with reduce
Implemented enqueue_at for ActiveJob's Backburner adapter
Active Job guide: Add info about queue_name prefix and clarity supporter features
Merge pull request #16622 from matthewd/default-debug

Don't fight against ourselves for the default log level
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
Merge pull request #16645 from sgrif/sg-perf-regression

Don't calculate in-place changes twice
[ActionMailer] require activejob railtie
Merge pull request #15932 from joseluistorres/issue-11957-uuids

adding the exception RecordNotFound to UUID find #11957
Merge pull request #16598 from seuros/master

[ActionMailer] require activejob railtie
Clarify that unknown keys will become HTML attrs

Docs for all the other form tag helpers in this
file already clarify this.

[ci skip]
Remove erroneous form_tag option docs

This is true of the first param (url_for_options),
not of the second options param which is being
documented here.

[ci skip]