Fix Baseclass becomes! subclass.
Remove duplicated HashWithIndifferentAccess#with_indifferent_access.
implement ActiveRecord::Base#pretty_print + changelog
Fixed `ActiveSupport::TimeWithZone#-` so precision is not unnecessarily lost

When working with objects with a nanosecond component, the `-` method may
unnecessarily cause loss of precision.

`ActiveSupport::TimeWithZone#-` should return the same result as if we were
using `Time#-`:

    Time.now.end_of_day - Time.now.beginning_of_day #=> 86399.999999999

Before:

    Time.zone.now.end_of_day.nsec #=> 999999999
    Time.zone.now.end_of_day - Time.zone.now.beginning_of_day #=> 86400.0

After:

    Time.zone.now.end_of_day - Time.zone.now.beginning_of_day
    #=> 86399.999999999
Test `except!` in other cases too
Fix AS::NumberHelper results with rationals

:precision was incorrectly being applied to Rationals

before:
  ActiveSupport::NumberHelper.number_to_rounded Rational(10, 3), precision: 2
  => "3.3"
after:
  ActiveSupport::NumberHelper.number_to_rounded Rational(10, 3), precision: 2
  => "3.33"
Added missing test case for migrations when using sql structure
Test the serialized types of virtual columns in XML

The previous tests were passing, because nothing ever looked at the
generated XML. What was previously being generated was
`<firstname type="NilClass">...`, which is not consistent with all other
cases where there is not a known type.
Refactor XML serializer to not depend on `serialized_attributes`
Update documentation to reflect unsubscription with name.
Avoid looping through subscribers when unsubscribing with a subscriber object.
pg, inline casting methods into `OID::Type` objects.

This inlines casting for the most obvious types. The rest will
follow eventually. I need to put some tests in place, to make sure
that the inlining is not causing regressions.

/cc @sgrif
test pg, add basic test cases for point datatype.
docs, fix typo [ci skip]
[ci skip] fix "note" syntax
[ci skip] less derogatory explanation of defaults
[ci skip] add fixture docs link to guides

The fixtures API docs are really comprehensive. We should either be driving people there, or perhaps making fixtures its own guide.
[ci skip] explain association behavior. 

When you manually specify `id:` attribute in a fixture Rails' built in association assignment feature will no longer work. http://stackoverflow.com/questions/23985675/incorrect-association-in-fixtures

This commit raises awareness of this behavior and encourages developers to look directly at the fixture documentation.
Merge pull request #15464 from tgxworld/improve_notifications_logic

Improvements to ActiveSupport::Notifications.
Merge pull request #15379 from xuanxu/rational_precision

Fix AS::NumberHelper results with rationals