Swallow bundler exceptions when running tests

Let's avoid useless output when testing stuff related to Bundler.
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"
Create Changing Columns on migrations guides

[ci skip]
Add Total of grouped items to AR query interface on guides

[ci skip]
Merge pull request #14881 from robin850/patch-19

Swallow bundler exceptions when running tests
Don't change values in `@raw_attributes` during serialization

During `init_with`, the attributes given to the coder will be placed
into `@raw_attributes`. As such, we should read from `@raw_attributes`
when encoding, rather than `@attributes`, which has been type cast.
Merge pull request #15432 from sgrif/sg-coder-type-casting

Don't change values in `@raw_attributes` during serialization
Remove most code related to serialized properties

Nearly completely implemented in terms of custom properties.
`_before_type_cast` now stores the raw serialized string consistently,
which removes the need to keep track of "state". The following is now
consistently true:

- `model.serialized == model.reload.serialized`
- A model can be dumped and loaded infinitely without changing
- A model can be saved and reloaded infinitely without changing
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`
Merge pull request #15435 from sgrif/sg-rm-serialization

Remove most code related to serialized properties
Update documentation to reflect unsubscription with name.
Merge pull request #15459 from maurogeorge/add-total-grouped-items

Add Total of grouped items to Active Record query interface on guides [ci skip]
Remove docs regarding grouping multiple values, as we should avoid
duplicating API reference in guides. Also :scissors: [ci skip]
Merge pull request #15457 from maurogeorge/add-changing-columns

Create Changing Columns on migrations guides [ci skip]