Fix inconsistent behavior from String#pluralize

Before:
  When calling String#pluralize with count=1 then it returned same
  string, but with count other than 1, returned new string.

After:
  String#pluralize always return a new string.

  => Prevent mutation of a string inadvertently.
multibyte_conformance.rb --> multibyte_conformance_test.rb
"subhash" --> "sub-hash"
wrap methods in backticks [ci skip]
Merge pull request #14808 from akalyaev/few-corrections-in-rails-initialization-guides

Few corrections in Rails Initialization Guides
Merge pull request #14804 from akshay-vishnoi/doc_changes

"subhash" --> "sub-hash"
Merge pull request #14805 from akshay-vishnoi/structure-change

multibyte_conformance.rb --> multibyte_conformance_test.rb
Don't rely on Arel master in bug report template [ci skip]

We should rely instead on the version supported by Active Record

Closes #14809
Merge pull request #14810 from robin850/patch-18

Don't rely on Arel master in bug report template
Remove statement assuming coffee shop/public space wifi is inherently insecure
Merge pull request #14811 from qrush/master

Remove statement assuming coffee shop/public space wifi is inherently insecure
Always escape string passed to url helper.

Makes it clear that anything passed with the helper must not be percent encoded.

Fixes previous behavior which tricks people into believing passing
non-percent-encoded will generate a proper percent-encoded path while in
reality it doesn't ('%' isn't escaped).

The intention is nice but the heuristic is broken.
Optimize URI escaping

The URI::Parser#escape method is a general use method that has to deal
with a variety of input however our use of it is limited in scope so
we can increase the performance by implementing our specific needs
within ActionDispatch::Journey::Router::Utils directly.

If there is no encoding required then there is no change in performance
or number of objects allocated, but for each character that needs to be
encoded we save five object allocations and gain a performance boost.
The performance boost seen varies from 20% when there is one character
to over 50% when encoding ten characters.
Make URL escaping more consistent

1. Escape '%' characters in URLs - only unescaped data
   should be passed to URL helpers

2. Add an `escape_segment` helper to `Router::Utils`
   that escapes '/' characters

3. Use `escape_segment` rather than `escape_fragment`
   in optimized URL generation

4. Use `escape_segment` rather than `escape_path`
   in URL generation

For point 4 there are two exceptions. Firstly, when a route uses wildcard
segments (e.g. *foo) then we use `escape_path` as the value may contain '/'
characters. This means that wildcard routes can't be optimized. Secondly,
if a `:controller` segment is used in the path then this uses `escape_path`
as the controller may be namespaced.

Fixes #14629, #14636 and #14070.
Grammar fix in Getting Started Guide
Merge pull request #14816 from jonatack/patch-2

Grammar fix in Getting Started Guide [ci skip]
Fix code indentation and improve formatting

in the Getting Started Guide.

This PR regroups #14817, #14818 and #14819 into one commit.

[skip ci]
[ci skip] builtin -> built-in
Merge pull request #14821 from jonatack/patch-5

Fix code indentation and improve formatting
Merge pull request #14820 from akshay-vishnoi/doc_changes

[ci skip] builtin -> built-in