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.
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 #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
let's warn with heredocs

The current style for warning messages without newlines uses
concatenation of string literals with manual trailing spaces
where needed.

Heredocs have better readability, and with `squish` we can still
produce a single line.

This is a similar use case to the one that motivated defining
`strip_heredoc`, heredocs are super clean.
Implement #== for column

We shouldn't rely on reference equality of these objects in tests
Implement hash equality on column

The query cache uses bind values as hash keys. The current
implementation relies on reference equality for hash equality. This is
brittle, and can easily break in the future.
💣

We were relying on hash inequality in tests
Merge pull request #17421 from rails/warn-with-heredoc

let warn with heredocs
Add mysql and pg specific attributes to Column#== and hash
edit pass over all warnings

This patch uniformizes warning messages. I used the most common style
already present in the code base:

* Capitalize the first word.

* End the message with a full stop.

* "Rails 5" instead of "Rails 5.0".

* Backticks for method names and inline code.

Also, converted a few long strings into the new heredoc convention.
:nodoc: for abstract_mysql_adapter