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
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.
User Rails 4 find_by
Merge pull request #8989 from robertomiranda/use-rails-4-find-by

Replace deprecated find_by_* with find_by
Revert "Merge pull request #8989 from robertomiranda/use-rails-4-find-by"

This reverts commit 637a7d9d357a0f3f725b0548282ca8c5e7d4af4a, reversing
changes made to 5937bd02dee112646469848d7fe8a8bfcef5b4c1.
MiniTest already defines a ParallelEach class

This may or may not fix the intermittent railties failures we've been
seeing on the CI with Ruby 2.0. We'll see.
The test setup is not threadsafe. Wrap in a mutex.