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
Merge pull request #8907 from rubys/master

Fix regression introduced in pull 8812
Bring back "database already exists" messages when running rake tasks

When running tasks such "rake db:setup", instead of showing messages
like "db_development already exists", it was showing a big stack trace
and a message "Couldn't create database for ..." with the configuration
options, a very confusing message with a big trace.

This brings back the functionality present in 3-2, showing the same
message.
Deprecate `Rails::Generators::ActiveModel#update_attributes`

Deprecate #update_attributes in favor of `#update`.

ORMs that implement `Generators::ActiveModel#update_attributes` should change
to `#update`. Scaffold controller generators should change calls like:

    @orm_instance.update_attributes(...)

to:

    @orm_instance.update(...)

This goes along with the addition of `ActiveRecord::Base#update`,
introduced in cb2bd4aa619d9329c42aaf6d9f8eacc616ce53f4.
Fix AR tests due to Mysql constant not being defined
Collection radio buttons and collection check boxes through FormBuilder render
the provided block.

In the case of having a form_for method being called, the block for each
collection would not be passed and thus the result expected was always the same.
This patch passes the block to the original method like it would be assumed.
`CollectionAssociation#empty?` respects newly builded records
Adding tests for ActiveModel::Model

* Verifying persisted? is false when Model initialized
* Passing nil to Model should not blow up
* Changing test name to the one suggested in pull request comment
Fix simple expression
Associaton -> Association
Remove WIP from Working With JavaScript Guide.

Now that we've fixed the fibs example, this is good to go.