Inflector irregular singularize rules
Adding Back Rails::Engine::Railties#engines

Removing it breaks functionality with gems such as Thinking Sphinx.
This restores it with a deprecation warning. Closes #8551
Fix .update_all and .delete_all when using a condition on a joined table
in a default_scope.

`Model.joins(...).where(condition_on_joined_table).update_all` /
`delete_all` worked, but the same operation implemented with a
default_scope generated a SQL error because ActiveRecord ignored the
join but implemented the where condition anyways.
`CollectionAssociation#empty?` respects newly builded records
Removing : warning: ambiguous first argument;
Merge pull request #8975 from arunagw/warning_removed_ambiguous_first_argument

Removing : warning: ambiguous first argument;
Remove useless || operation
spelling correction for AM interceptors
Merge pull request #8976 from senny/spelling_correction

spelling correction for Action Mailer interceptors
Fix ActionDispatch::Request#formats when HTTP_ACCEPT header is empty string
Remove i18n symbol dependency

date.order is the only key in rails i18n that is required to be a
symbol. This patch allows for symbols or strings which means:

* No requirement for symbol type in .yml files. A future
  YAML.safe_load wouldn't need to load symbols
* Rails could actually use json rather than yml as the backend
Don't change the original i18n data
Refactor predicate builder when receiving empty hash

There's no need to create a new arel table or reflect on the column
association if the value is empty, these attributes are not used.

Also no need to concat a new array, just append the query value.
iterates the RDoc of update_column(s)

This revision makes crystal clear that the methods go
straight to the database and update the receiver. It
also adds and example, and removes the duplication
in the singular and plural forms by referring one to
the other.
use tap with block parameter
script => bin
s/it's/its/

[ci skip]
Merge pull request #8912 from senny/8879_association_empty_method

`CollectionAssociation#empty?` respects newly builded records
CollectionProxy should be default scoped

Fixes #8795
Undeprecate the :extend option

Suggested by @dhh.

It doesn't affect the generated SQL, so seems reasonable to continue to
allow it as an association option.