Make ActiveSupport::Inflector locale aware and multilingual

The Inflector is currently not very supportive of internationalized
websites. If a user wants to singularize and/or pluralize words based on
any locale other than English, they must define each case in locale
files. Rather than create large locale files with mappings between
singular and plural words, why not allow the Inflector to accept a
locale?

This patch makes ActiveSupport::Inflector locale aware and uses `:en`` unless
otherwise specified. Users will still be provided a list of English (:en)
inflections, but they may additionally define inflection rules for other
locales. Each list is kept separately and permanently. There is no reason to
limit users to one list of inflections:

    ActiveSupport::Inflector.inflections(:es) do |inflect|
      inflect.plural(/$/, 's')
      inflect.plural(/([^aeéiou])$/i, '\1es')
      inflect.plural(/([aeiou]s)$/i, '\1')
      inflect.plural(/z$/i, 'ces')
      inflect.plural(/á([sn])$/i, 'a\1es')
      inflect.plural(/é([sn])$/i, 'e\1es')
      inflect.plural(/í([sn])$/i, 'i\1es')
      inflect.plural(/ó([sn])$/i, 'o\1es')
      inflect.plural(/ú([sn])$/i, 'u\1es')

      inflect.singular(/s$/, '')
      inflect.singular(/es$/, '')

      inflect.irregular('el', 'los')
    end

    'ley'.pluralize(:es)   # => "leyes"
    'ley'.pluralize(:en)   # => "leys"
    'avión'.pluralize(:es) # => "aviones"
    'avión'.pluralize(:en) # => "avións"

A multilingual Inflector should be of use to anybody that is tasked with
internationalizing their Rails application.

Signed-off-by: David Celis <david@davidcelis.com>
AR::Relation#order: make new order prepend old one

    User.order("name asc").order("created_at desc")
    # SELECT * FROM users ORDER BY created_at desc, name asc

This also affects order defined in `default_scope` or any kind of associations.
Merge pull request #7176 from bogdan/reverse_order

AR::Relation#order: make new order prepend old one.
Merge pull request #7197 from davidcelis/i18n_inflector

Make ActiveSupport::Inflector locale aware and multilingual
Update activesupport/CHANGELOG.md
fix typo in collection proxy
Merge pull request #7212 from accessd/small-typo-fix

small fix typo in collection proxy
fix ActiveRecord::Associations::CollectionProxy documentation
Update I18n guide with details on multilingual Inflector [ci skip]

Sorry; I forgot about the guides when I submitted this patch.

Signed-off-by: David Celis <david@davidcelis.com>
Fix a mistake in the I18n guide: English => Spanish [ci skip]

Signed-off-by: David Celis <david@davidcelis.com>
update ActiveModel::Observer documentation [ci skip]
Update #resources documentation [ci skip]
Update #match documentation [ci skip]
fix punctuation in #resources and #match documentation [ci skip]
has_secure_password should not raise a 'digest missing' error if the calling class has specified for validations to be skipped.
html_escape should escape single quotes

https://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet#RULE_.231_-_HTML_Escape_Before_Inserting_Untrusted_Data_into_HTML_Element_Content
Closes #7215
Merge pull request #7204 from frodsan/update_conventions

Follow code conventions in metal/live
Updated scaffold_controller generator docs #7146

It was just a copy of the controller generator documentation which was
misleading.  It doesn't accept arguments for views.  This seems more
descriptive as well.

Respect 80 char limit. #7147

Made a nicer paragraph #7147
Merge pull request #7147 from pferdefleisch/scaffold_controller_docs

Updated scaffold_controller generator docs #7146
Restoring documentation for env_config per #7070