Fix Baseclass becomes! subclass.
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
[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.
Use null column for association key types
Bring type casting behavior of hstore/json in line with serialized

`@raw_attributes` should not contain the type-cast, mutable version of
the value.
Merge pull request #15502 from sgrif/sg-use-null-column

Use null column for association key types
Revert "Correct Documentation for asset_tag_helpers"

This reverts commit c22a253d1a72602331db1eba3e91bc945eff2346.

Reason: Our documentation assumes the assets are in the proper place and
we are using the default Rails stack.

With the default Rails stack and the assets being in the correct place
the assets helpers uses the `/assets` prefix.
have an actual `NullColumn` object and update docs accordingly.

Follow up to #15438 and #15502.

/cc @sgrif
Emit suggested generator names when not found

When someone types in a generator command it currently outputs all generators. Instead we can attempt to find a subtle mis-spelling by running all generator names through a levenshtein_distance algorithm provided by rubygems. 

So now a failure looks like this:

```ruby
$ rails generate migratioooons
Could not find generator 'migratioooons'. Maybe you meant 'migration' or 'integration_test' or 'generator'
Run `rails generate --help` for more options.
```

If the suggestions are bad we leave the user with the hint to run `rails generate --help` to see all commands.
[ci skip] remove double "in your"
Merge pull request #15497 from schneems/schneems/levenshtein-generator-failure-messages

Emit suggested generator names when not found
Removed CaptureHelper#flush_output_buffer as it is only used in tests.
reviewed: @tenderlove
Fix inverse associations test

`InverseHasManyTests#test_parent_instance_should_be_shared_within_create_block_of_new_child`
was mistakenly the same as
`InverseHasManyTests#test_parent_instance_should_be_shared_within_build_block_of_new_child`.
Update getting_started.md

It may be confusing to a Rails newbie why "Article" is suddenly being referred to with the "A" being capitalized. Thus far in the guide, the "a" has always been in lowercase. I think it is helpful to point out the reason for this change (especially since not using the capital "A" will result in an error). [ci skip]
Update getting_started.md

It's not very clear exactly what the "params" method is and does, as the current description in the guide is somewhat vague and brief. An example is helpful, especially considering this method is referenced over 30 times in this guide. [ci skip]
Merge pull request #15515 from leafac/fix-inverse-associations-block-test

Fix inverse associations test
Merge pull request #15518 from jonathancadepowers/master

Added Two Clarification "Tips" [ci skip]