[ci skip] Document PublicExceptions middleware
[ci skip] document ActionDispatch::FileHandler
[ci skip] Document ActionDispatch::Static
Uppercase HTML in docs.

[skip ci]
Small grammar fix in pluck description
Correctly determine if migration is needed.

This method would assume that if last migration in the migrations
directory matched the current schema version, that the database was up
to date, but this does not account for new migrations with older
timestamps that may be pending.
`overriden` => `overridden`
[ci skip] Update links in getting_started guide.
Make `AC::Params#to_h` return Hash with safe keys

`ActionController::Parameters#to_h` now returns a `Hash` with
unpermitted keys removed. This change is to reflect on a security
concern where some method performed on an `ActionController::Parameters`
may yield a `Hash` object which does not maintain `permitted?` status.
If you would like to get a `Hash` with all the keys intact, duplicate
and mark it as permitted before calling `#to_h`.

    params = ActionController::Parameters.new(name: 'Senjougahara Hitagi')
    params.to_h # => {}

    unsafe_params = params.dup.permit!
    unsafe_params.to_h # => {"name"=>"Senjougahara Hitagi"}

    safe_params = params.permit(:name)
    safe_params.to_h # => {"name"=>"Senjougahara Hitagi"}

This change is consider a stopgap as we cannot chage the code to stop
`ActionController::Parameters` to inherit from
`HashWithIndifferentAccess` in the next minor release.

Also, adding a CHANGELOG entry to mention that
`ActionController::Parameters` will not inheriting from
`HashWithIndifferentAccess` in the next major version.
Add missing `Hash` methods to `AC::Parameters`

This is to make sure that `permitted` status is maintained on the
resulting object.

I found these methods that needs to be redefined by looking for
`self.class.new` in the code.

* extract!
* transform_keys
* transform_values
Refactor code to reduce duplicate `self.class.new`
Seperate Parameters accessors and mutators tests
Fix failing test on several methods on Parameter

* `each`
* `each_pair`
* `delete`
* `select!`
User `#to_hash` instead of calling `super`

Ruby 1.9.3 does not implement Hash#to_h, so we can't call `super` on it.
[ci skip] Update plugin doc with the latest rails
Removed unnecessary word
[ci skip] config.active_record.errors_in_transactional_callbacks -> config.active_record.raise_in_transactional_callbacks
Merge pull request #16553 from tomkadwill/removed_word

[ci skip] Removed unnecessary word from Getting Started
http://gembundler.com/  =>  http://bundler.io/
4.2 Release Notes pass [skip ci]