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
[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.
[ci skip] Consolidate docs for `last`

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

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

Put all options for overloading `find` in one section
[ci skip] Doc ability to chain in `find_each`

Also use appropriate mailer syntax in the `find_each` block.
[ci skip] Fix doc for except

The example showed is `except`, however the method "documented" is `unstop`. Fix to align the docs to the example.
[ci skip] remove invalid code from docs
Use a type object for type casting behavior on SQLite3

Note: I'm not sure we actually need to be logging when this happens.
This code would be a fair bit cleaner if we didn't need to log it.
Improve token_and_options regex and test

add a test case to test the regex for the helper method raw_params
[ci skip] Changes some wording to better foreshadow what is coming up later.
This should prevent some anxiety readers may experience when the doc goes into something different than what it just explained. Also clarifies a statement about priority in engines and application environments

[ci skip] fixes double `the`

[ci skip] more clarifications

[ci skip] changes from tics to quotes
Remove symbolized_path_parameters.

This pull request is a continuation of https://github.com/rails/rails/commit/925bd975 and https://github.com/rails/rails/commit/8d8ebe3d.
Add `:all` argument to `count` in `reset_counters`

Prior to this fix, if an association had a scope with a `select`,
calls to `reset_counters` would generate invalid SQL and throw:

ActiveRecord::StatementInvalid: [$DB_ADAPTER]: wrong number of
arguments to function COUNT()

References #10710, #13648
Fix typo in comment
Merge pull request #16029 from cade/fix_typo_in_comment

Fix typo in comment
Merge pull request #15941 from variousred/docrails-changes

[ci skip] Changes some wording to better foreshadow what is coming up later