Update the Getting Started tutorial

Update the Getting Started tutorial to clarify where and how to add
controller actions, and fix some grammar.

This PR is an improved version of #14828, #14822 and #14815.

[skip ci]
cleanup, remove trailing whitespace. [ci skip]
Merge pull request #14905 from jonatack/patch-7

Update the Getting Started tutorial
rewrites the API docs of favicon_link_tag [ci skip]

Motivated by #14907.
the use of ... in place >> using ... instead

[ci skip]
Merge pull request #14909 from jonatack/patch-7

the use of ... in place >> using ... instead
split nil / Hash cases in url_for

this reduces the number of comparisons and method calls `url_for`
requires.  The nil case no longer calls `symbolize_keys`, we already
know options is nil, so no more ||=, and since it is nil we already know
that options[:host] will be nil too.
don't allocate string on hash access
do not allocate strings while creating urls
eliminate conditional when sending the named route method
avoid calling extract_record multiple times
Give real privacy to class methods in AR::PredicateBuilder
Merge pull request #14916 from moktin/real_privacy_for_functions_in_predicate_builder

Give real privacy to class methods in AR::PredicateBuilder