Raises ArgumentError when try to define a scope without a callable

This changes the actual exception `NoMethodError: undefined method `call'
for #<ActiveRecord::Relation []>` to a `ArgumentError` when try to define
a scope without a callable.
Added queue_name_delimiter attribute.

- Added ActiveJob::Base#queue_name_delimiter to allow for
  developers using ActiveJob to change the delimiter from the default
  ('_') to whatever else they may be using (e.g., '.', '-', ...).

- Updated source guide to include a blurb about the delimiter.
Merge pull request #17374 from maurogeorge/scope-exception

Raises ArgumentError when try to define a scope without a callable
Allow Relation#rewhere to work with infinite range values
UrlGenerationError are not catched as 404 anymore
Fix rbx generated Gemfile regex

https://travis-ci.org/rails/rails/jobs/39190983#L460

 1) Failure:
 AppGeneratorTest#test_psych_gem
 [test/generators/app_generator_test.rb:495]:
 Expected /gem 'psych',\s+'~> 2.0', \s+platforms: :rbx/ to match <snip>
 http://git.io/uuLVag)\ngem 'psych', '~> 2.0', platforms: :rbx\n\n
Merge pull request #17405 from DanOlson/rewhere

Allow Relation#rewhere to work with infinite range values
Merge pull request #16229 from byroot/stop-swallowing-url-generation-errors

UrlGenerationError are not catched as 404 anymore
Optimize TimeWithZoneTest#strftime
Merge pull request #17310 from pabloh/optimize_strftime

Optimize TimeWithZoneTest#strftime
Merge pull request #17408 from bf4/fix_rbx_test

Fix rbx generated Gemfile regex
Fix doc markup for `NumberHelper` [ci skip]

The character "*" is unnecessary in option candidates.
This incorrect markup was injected in e8c9aeca .
Merge pull request #17416 from tricknotes/fix-doc-markup

Fix doc markup for `NumberHelper`
Deprecate the `only_path` option on `*_path` helpers.

In cases where this option is set to `true`, the option is redundant and can
be safely removed; otherwise, the corresponding `*_url` helper should be
used instead.

Fixes #17294.

See also #17363.

[Dan Olson, Godfrey Chan]
Mention only_path deprecation in release notes [ci skip]
Typos in the deprecation message
Merge pull request #17039 from zv1n/add_prefix_delimiter

Added ability to configure the queue_name_prefix delimiter to ActiveJob::QueueName.
Call value methods when merging relations, rather than accessing keys

The change to accessing keys directly was originally added to allow
`merge` to take a hash. The implementation of `HashMerger` no longer
requires us to be doing so. Accessing the values directly makes it
impossible to change internal storage details, even if shim methods are
added temporarily
Fix uninitialized ivar warning in tests
Remove unneccessary default values from relation merger

The value methods will default to an empty array for us automatically