Use NameError#name to assert raised error.

This makes the test compatible with other Ruby implementations, which
may implement error messages differently.
Upgraded rack
As Rack has some non backwards compatible changes added required
modifications to keep behaviour in rails close to same as before.

Also modified generators to include rack/rack for not yet released
version of rack
Since upgrading rack we can remove unnecessary string encodings
https://github.com/rack/rack/commit/5a5aee36
Formatting fix in AS changelog [ci skip]
Revert "Formatting fix in AS changelog [ci skip]"

This reverts commit cede0363830e28e73feafc662eccae7d1db526bb.

Reason: CHANGELOG should not be updated on docrails
Added rollback method to ActiveModel::Dirty
[ci skip] Add missing colon and period in initialization.md.
Add missing period in Getting Started guide

Within section 5.10 Adding Some Validation
Update the levenshtein distance method in guides.
Merge pull request #15954 from roryokane/getting-started-guide-add-period

Add missing period in Getting Started guide
Merge pull request #15955 from JuanitoFatas/levenshtein-guide

Update the levenshtein distance method in guides.
[Postgresql tests] remove duplicate helper
Merge branch 'master' of github.com:rails/docrails
Merge pull request #15957 from seuros/duplicate

[Postgresql tests] remove duplicate helper
Rename options param of #time_ago_in_words to match API change

Rename `include_seconds_or_options` to `options` to match 6b9356a (which removed the deprecation introduced by #6077).  This has no functional impact because the parameter is passed directly through, but makes it clearer that the parameter no longer supports a boolean as input.
Always pass a column with a type object to quote

The only case where we got a column that was not `nil`, but did not
respond to `cast_type` was when type casting the default value during
schema creation. We can look up the cast type, and add that object to
the column definition. Will allow us to consistently rely on the type
objects for type casting in all directions.
[ci skip] Add return values to examples
[ci skip] Consolidate docs for `first`

Add docs for `first` when provided a numerical argument. 

Since `first!` behaves exactly the same way but can raise an argument we can consolidate it in the `first` section.
[ci skip] Consolidate docs for `find_by`

Since `find_by!` behaves exactly the same way but can raise an argument we can consolidate it in the `find_by` section.
[ci skip] Consolidate docs for `take`

Add docs on what happens when a numerical argument is provided to take.

Since `take!` behaves exactly the same way but can raise an argument we can consolidate it in the `take` section.