Don't ignore constraints in redirect routes

https://github.com/rails/rails/commit/402c2af55053c2f29319091ad21fd6fa6b90ee89
introduced a regression that caused any constraints added to redirect routes
to be ignored.

Fixes #16605
Use less iterations for KeyGenerator in tests

This commit improves performance of cookie tests:

Ruby  |   After  |   Before
----- | --------:| --------:
MRI   |    5.03s |     9.28s
JRuby |   25.45s |  1648.23s

Please note the improvement for JRuby.
minor changelog formatting changes.
fix broken `gem` method with non-String arguments. Closes #16709.

This was caused by #15327.
Fix spelling. [CI SKIP]
Merge pull request #16719 from tgxworld/fix_spelling_in_changelog

Fix spelling. [CI SKIP]
Correctly detect mutation on serialized columns mapping to binary

Fixes #16701
[ci skip] Update 4_2_release notes
[ci skip] Fix typo of `collection_singular_ids=` method.
[ci skip] Fix typo of `collection=` method.
Merge pull request #16721 from yui-knk/fix/guides_association_basics

[ci skip] Fix typo of `collection=` method.
Merge pull request #16722 from yui-knk/fix/guides_association_basics2

[ci skip] Fix typo of `collection_singular_ids=` method.
Merge pull request #16702 from sgrif/sg-binary-serialized

Correctly detect mutation on serialized columns mapping to binary
Merge pull request #16707 from katmutua/master

update 4_2_release_notes
Merge pull request #16717 from splattael/keygenerator

Use less iterations for KeyGenerator in tests
[ci skip] mention assert_select in release notes
Merge pull request #16723 from rubys/mention_assert_select_changes

[ci skip] mention assert_select in release notes
Refactor out Dir.glob from ActionDispatch::Static

Dir.glob can be a security concern. The original use was to provide logic of fallback files. Example a request to `/` should render the file from `/public/index.html`. We can replace the dir glob with the specific logic it represents. The glob {,index,index.html} will look for the current path, then in the directory of the path with index file and then in the directory of the path with index.html. This PR replaces the glob logic by manually checking each potential match. Best case scenario this results in one less file API request, worst case, this has one more file API request.

Related to #16464

Update: added a test for when a file of a given name (`public/bar.html` and a directory `public/bar` both exist in the same root directory. Changed logic to accommodate this scenario.
Merge pull request #16544 from schneems/schneems/death-to-dir-glob

Refactor out Dir.glob from ActionDispatch::Static
Add language directive to .travis.yml

Currently, Travis CI assumes that the project is in Ruby in the
absence of the `language` key.
This behavior may change in the future. (For example, switch to a "blank"
image which *may* be created.)