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
remove 'update' duplications
update assets guide code styling

* 1.9 hash syntax
* proper formatting around one line blocks
* do-end for multiline blocks
Clarified the minute option on DateTime#change
Update guides/source/active_record_basics.md
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.
Update engine application layout file path
Fix typo in guides/source/engines.md
Fix typo in guides/source/engines.md
`CollectionAssociation#empty?` respects newly builded records
Fix simple expression
fix reference to ActiveSupport::ProxyObject
rake railties:install:migrations respects the order of railties
ActiveRecord <-> Active Record [ci skip]
Merge pull request #8949 from joneslee85/patch-2

ActiveRecord <-> Active Record [ci skip]
Revert "Merge pull request #8942 from yahonda/tested_only_with_mysql"

This reverts commit 1fc294f988e93ac59057a16b0e44b9cf93af9720, reversing
changes made to fb9ac47c286fbdfe05263d4d0346e50892090603.

Reason: these tests should run fine independent of database, since they
should only take into account the configuration options. The problem was
related to a change in the way "nil" is handled by the rescue clause, in
Ruby 2.0 it raises an exception asking for class or module, in 1.9 it
passes.
Improve mysql database tasks handling to ensure we always rescue from an exception

We were previously rescuing "nil" when no exception class was found.
This does work in 1.9.3, but does not in 2.0, raising an exception
asking for a class or module to be given to the rescue clause.

Thanks @yahonda for catching this.
Improves documentation about Fragment Caching. [ci skip]

Adds documentation for:
- Aggregate cache keys,
- using an ActiveRecord model as cache key and
- Russian Doll Caching.
Revert "log at debug level what line caused the redirect_to"

This reverts commit 3fa00070047b5d019d39e691598ee2890283d052.

Reason: This message is usually not accurate and annoying:

    Redirected by ~/.rbenv/versions/1.9.3-p327-perf/lib/ruby/1.9.1/logger.rb:371:in `add'`