Reorganize ActiveRecord tasks [Arun Agrawal & Abd ar-Rahman Hamidi]
Updates reset_counters to allow counter name in params

Add support for counter name to be passed as parameter
on `CounterCache::ClassMethods#reset_counters`. This is
to be consistent with the other methods in the module
that all accept counter name.
Fix app generator test hanging.
Merge pull request #15150 from xtian/fix-railties-tests

Fix app generator test hanging.
Add missing tests for column type cast behavior
New applications should be created with json serializer

The fix introduced at 75ba7425f6d235f254c00a45a58f42e88f80301a were
missing this case.

To fix the original issue mentioned at that commit the correct is to
remove update_config_files from the command list since we should not run
both config_files command when creating a new application.

Tests were added to make sure everything is working fine.
Merge pull request #15149 from sgrif/sg-missing-tests

Add missing tests for column type cast behavior
Collected TimeZone's class methods together

Just moved class methods up in file and moved `def self.` methods into `class << self`.
Merge pull request #15152 from printercu/patch-5

Collected TimeZone's class methods together
Document method visibility for designing API docs. [ci skip]

cc https://github.com/rails/rails/issues/14848#issuecomment-41198795
Merge pull request #14428 from jnormore/reset_counters_alias

Updates reset_counters to allow counter name in params
Remove dead test code for unsupported adapters
Merge pull request #15137 from sgrif/sg-remove-dead-code

Remove dead test code for unsupported adapters
PostgreSQL timestamps are always datetimes

The current behavior is that they are treated as `datetime` normally,
but if they are part of an array, they are treated as `timestamp`. The
only place that seems to be impacted by this is schema dumping, which
shouldn't matter since `t.datetime` and `t.timestamp` are equivalent in
the `PostgreSQL` adapter, anyway.
Use destructured arguments when looping through pairs

Minor refactoring of looping behavior for aggregation
Add a type object to Column constructor

Part of #15134. In order to perform typecasting polymorphically, we need
to add another argument to the constructor. The order was chosen to
match the `oid_type` on `PostgreSQLColumn`.
Merge pull request #15151 from sgrif/sg-add-type-to-column

Add a type object to Column constructor
Make `:index` in migrations work with all column types
early return on delete and destroy methods

When delete or destroy is called on all records nothing
is deleted or destroyed. Intead of running through the code and still
not deleteing anything, we should early return
Let others know why this code is here

[ci skip]