Change ActionController::Parameters#require behavior when value is empty
When the value for the required key is empty an ActionController::ParameterMissing is raised which gets caught by ActionController::Base and turned into a 400 Bad Request reply with a message in the body saying the key is missing, which is misleading.

With these changes, ActionController::EmptyParameter will be raised which ActionController::Base will catch and turn into a 400 Bad Request reply with a message in the body saying the key value is empty.
Minor doc fix of ActiveModel::Naming.

- qoute example line's result when it kind of String
- right ("singular_route_key") method in example
Merge pull request #9660 from sebasoga/change_strong_parameters_require_behaviour

Change ActionController::Parameters#require behavior when value is empty
Merge pull request #12686 from kryzhovnik/master

Minor doc fix of ActiveModel::Naming. [ci skip]

Conflicts:
	activemodel/lib/active_model/naming.rb
Added ActiveRecord::Base#enum for declaring enum attributes where the values map to integers in the database, but can be queried by name
Revert "Merge pull request #9660 from sebasoga/change_strong_parameters_require_behaviour"

This reverts commit c2b5a8e61ba0f35015e6ac949a5c8fce2042a1f2, reversing
changes made to 1918b12c0429caec2a6134ac5e5b42ade103fe90.

See: https://github.com/rails/rails/pull/9660#issuecomment-27627493
Update guides welcome page to point to version 3.2.15 [ci skip]
Improve wording in AC::ParameterMissing error message
Fix to work on Ruby 1.9.3, example and changelog improvements
Use an already existing fixture
Fix Hash#deep_merge bug and improve documentation — resolves #12738

Previously merging into a hash with a falsy value would not result in
the merge-block being called. The fix is simply to check for presence
of the key in the hash.

The documentation example for `deep_merge` now appropriately
demonstrates what a deep merge does.