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
Remove PG's definition of `type_cast`

All cases except for `nil` in an array have been removed. `nil` in an
array is handled by the Array type object.
Don't rely on the sql type to quote XML columns in PG
test i18n against a routed app
Reduce number of subscriptions created.
Merge pull request #16072 from sgrif/sg-xml-quoting

Don't rely on the sql type to quote XML columns in PG
Merge pull request #16071 from sgrif/sg-pg-type-cast

Remove PG's definition of `type_cast`
Warm up cache to prevent assertion failure.
Merge pull request #16093 from zuhao/refactor_activerecord_nested_through_associations_test

Warm up cache to prevent assertion failure.
Include fixtures to prevent foreign key violation.
Merge pull request #16094 from zuhao/refactor_activerecord_belongs_to_associations_test

Include fixtures to prevent foreign key violation.
[ci skip] Add changelog for PR #14899

The changelog entry for #14899 was missing.
Merge pull request #16095 from eileencodes/update-changelog-for-pr-14899

Add changelog for PR #14899
Merge pull request #13999 from jamox/update_rack

This updates rails to use edge rack
correct markdown usage [ci skip]
Merge pull request #16097 from nishantmodak/correct_md

correct markdown usage [ci skip]
Fix weird comment. [CI SKIP]
[ci skip] Fix 4.2 release notes rendered display.