add support for html attributes to grouped_options_for_select
Match Dev/Prod parity for Index Page

With Rails 4 the default index page was moved from a static file `index.html` inside the `public/` folder to an internal controller/view inside of the railties gem. This was to allow use of erb in the default index page and to remove the requirement that new apps must delete a static file to make their index pages work. While this was a good change, the functionality was unexpected to developers who wish to get their apps running in production ASAP. They will create a new app `rails new my app`, start a server to verify it works, then immediately deploy the app to verify that it can start working in production. Unfortunately locally they see a page when they visit `localhost:3000` when they visit their production app they get an error page.

We initially anticipated this problem in the original pull request, but did not properly anticipate the severity or quantity of people who would like this functionality. Having a default index page serves as an excellent litmus test for a passed deploy on default apps, and it is very unexpected to have a page work locally, but not on production. 

This change makes the default index page available in production if the developer has not over-written it by defining their own `root` path inside of routes.
Add logging performance [ci skip]
metal is no longer mentioned on rack guide
Improve comment about ActiveModel::Model
Update note about declarative etags in release notes
Merge pull request #11534 from gaurish/log

Add logging performance [ci skip]
Merge pull request #11517 from nashby/optgroup-html-attributes

add support for html attributes to grouped_options_for_select
Revert "Merge pull request #11416 from tigrish/master"

This reverts commit 9dc8aef084fc5ae7e3a396dd098d89da93d06fda, reversing
changes made to 02e8dae6279ea25312293a3eca777faf35139c4c.
remove useless duplication in include test
rescue from all exceptions in `ConnectionManagement#call`

Fixes #11497

As `ActiveRecord::ConnectionAdapters::ConnectionManagement` middleware does not rescue from Exception (but only from StandardError),
the Connection Pool quickly runs out of connections when multiple erroneous Requests come in right after each other.

Recueing from all exceptions and not just StandardError, fixes this behaviour.
Merge pull request #11514 from schneems/schneems/dev-prod-parity-index

Match Dev/Prod parity for Index Page
Merge pull request #11538 from vipulnsward/rescue-exp

rescue from all exceptions in `ConnectionManagement#call`
Specified column type for quote_value

When calling quote_value the underlying connection sometimes requires
more information about the column to properly return the correct quoted
value.

I ran into this issue when using optimistic locking in JRuby and the
activerecord-jdbcmssql-adapter. In SQLSever 2000, we aren't allowed to
insert a integer into a NVARCHAR column type so we need to format it as
N'3' if we want to insert into the NVARCHAR type. Unfortuantely, without
the column type being passed the connection adapter cannot properly return
the correct quote value because it doesn't know to return N'3' or '3'.

This patch is fairly straight forward where it just passes in the column
type into the quote_value, as it already has the ability to take in the column,
so it can properly handle at the connection level.

I've added the tests required to make sure that the quote_value method
is being passed the column type so that the underlying connection can
determine how to quote the value.
Tidy up the "Specified column type for quote_value" changes

This includes fixing typos in changelog, removing a deprecated
mocha/setup test require, and preferring the `column_for_attribute`
accessor over direct access to the columns_hash in the new code.
Don't allow `quote_value` to be called without a column

Some adapters require column information to do their job properly.
By enforcing the provision of the column for this internal method
we ensure that those using adapters that require column information
will always get the proper behavior.
Merge pull request #11536 from dpickett/patch-1

metal is no longer mentioned on rack guide
Merge pull request #11549 from dmathieu/test_duplication

Remove duplication in include test
Removed random dot in code sample [ci skip]
Merge pull request #11551 from skammer/patch-1

Removed random dot in ActionController docs [ci skip]