Improve the testing guide [ci skip]

Improve the "Testing Rails Applications" guide adding a section for
testing helpers and a little note about associations with ActiveRecord
and YAML fixtures.

Also add a link to Fixture Builder ; yet another replacement for
fixtures such as Machinist or FactoryGirl.
Remove conditional, since results are always an instance of `ActiveRecord::Result`
Added some description to generate actionview gem [ci skip]
metal is no longer mentioned on rack guide
remove useless duplication in include test
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]
 syntax fix for f.select doc. [ci skip] .
Merge pull request #11537 from Karunakar/small_fix

syntax fix f.select doc
Merge pull request #11528 from Empact/optimistic_lock_improvement

Rebase and make fixes to #6763 "Specified column type for quote_value"
[Fixes #11512] improves cache size calculation in ActiveSupport::Cache::MemoryStore

Previously, the cache size of `ActiveSupport::Cache::MemoryStore` was calculated
as the sum of the size of its entries, ignoring the size of keys and any data
structure overhead. This could lead to the calculated cache size sometimes being
10-100x smaller than the memory used, e.g., in the case of small values.

The size of a key/entry pair is now calculated via `#cached_size`:

    def cached_size(key, entry)
      key.to_s.bytesize + entry.size + PER_ENTRY_OVERHEAD
    end

The value of `PER_ENTRY_OVERHEAD` is 240 bytes based on an [empirical
estimation](https://gist.github.com/ssimeonov/6047200) for 64-bit MRI on
1.9.3 and 2.0.

Fixes GH#11512 https://github.com/rails/rails/issues/11512
Merge pull request #11546 from swoop-inc/ss_memory_store_cache_size

[Fixes #11512] improves cache size calculation in MemoryStore
Revert "Match Dev/Prod parity for Index Page"

Showing welcome page in production can expose information, which should
not be visible on production if people don't override the default root
route.

This reverts commit b0caea29c2da9f4c8bb958019813482da297067d.
Add info about placing a new CHANGELOG entry to contributing guide
Move #11546 changelog to the top [ci skip]