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.
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.
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.)
remove dead code

the ERB has already been compiled to Ruby code by the time we're calling
module_eval.  Nothing that module eval raises will be caught by a blank
`rescue`, so I think we can remove this
remove useless parameter
Merge pull request #16727 from BanzaiMan/travis-yml-fix

Add language directive to .travis.yml
Reset schema properly after schema changing test
Ignore SCHEMA queries when asserting no queries
AP test files does no more need to be alphabetically sorted here