Make code statistics rake task handle new test locations properly

As of 2a68f68aead9fd65ecac8062ca8efc15f5bab418:

- Unit tests are now in test/models, instead of test/units
- Functional tests are now in test/controllers, instead of
  test/functional
- Helper tests are now in test/helpers, instead of test/units/helpers
- Mailer tests are now in test/mailers, instead of test/functional

Update the rake task for code statistics (`rake stats`) so that it
recognizes files in the above locations as tests, and accurately
calculates statistics such as "Test LOC" and "Code to Test Ratio."
Safely handle Rails apps that still have tests in the old locations.
Merge pull request #8466 from gclag/stats-handle-new-test-locations

Make rake task for code statistics handle new test locations properly
Revert "API reader should look elsewhere for helper instructions"

This reverts commit ba2d867b2961b5ef72aad353c2d647b04654cbe3.

Reason:
https://github.com/lifo/docrails/commit/ba2d867b2961b5ef72aad353c2d647b04654cbe3#commitcomment-2276670

[ci skip]
Include command to create mysql user

The guide mentions that the 'rails' user is needed, but doesn't
explicitly include the command to do so.
Merge pull request #8469 from kytrinyx/explicit-mysql-instructions

Include command to create mysql user

[ci skip]
Remove the spaces after the open bracket and before the close bracket.

All our generated code follow this rule
revise block on kindle guides [ci skip]
Move to the schema-migrations-metadata branch.

Pending work on graceful app upgrades.

Revert "Merge pull request #8439 from joshsusser/fixes"

This reverts commit ce8ac39338f86388e70356b3a470b3ea443802ae, reversing
changes made to b0e7b6f67c984d4b1502e801781ed75fad681633.

Revert "Merge pull request #8431 from joshsusser/schemadump"

This reverts commit 036d3e1c2b65c4b8cbd23de2e20ad67b9b756182, reversing
changes made to 0c692f4d121792117b6a71e5ed590a31c3b9d12e.

Revert "Merge branch 'joshsusser-master' into merge"

This reverts commit 0c692f4d121792117b6a71e5ed590a31c3b9d12e, reversing
changes made to 2e299fca715b083a60222a85e48f9d3b8dd8ce93.

Conflicts:
	activerecord/CHANGELOG.md
	activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
	activerecord/test/cases/schema_dumper_test.rb
Revert "Omit directories from gemspec.files for RubyGems 2 compat."

Obviated by rubygems/rubygems@486ed83cc8e706069213c5d406122f4cfcca9e7f

This reverts commit bb8923dee093b615615cdfb83b34d1b0bb254f25.
Use Rails to Render Default Index Page

This is an alternative implementation to #7771 thanks to the advice of @spastorino

Rails is a dynamic framework that serves a static index.html by default. One of my first questions ever on IRC was solved by simply deleting my public/index.html file. This file is a source of confusion when starting as it over-rides any set "root" in the routes yet it itself is not listed in the routes. By making the page dynamic by default we can eliminate this confusion.

This PR moves the static index page to an internal controller/route/view similar to `rails/info`. When someone starts a rails server, if no root is defined, this route will take over and the "dynamic" index page from rails/welcome_controller will be rendered. These routes are only added in development. If a developer defines a root in their routes, it automatically takes precedence over this route and will be rendered, with no deleting of files required. 

In addition to removing this source of confusion for new devs, we can now use Rails view helpers to build and render this page. While not the primary intent, the added value of "dogfooding" should not be under-estimated.

The prior PR #7771 had push-back since it introduced developer facing files. This PR solves all of the same problems, but does not have any new developer facing files (it actually removes one). 

cc/ @wsouto, @dickeyxxx, @tyre, @ryanb, @josevalim, @maxim, @subdigital, @steveklabnik

ATP Railties and Actionpack.