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
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
Test everything

This actually was testing test everything, so why not do it simpler?
No need to sort tests

Dir.glob result must be already sorted anyway
Rails.root should be a Pathname
Reset RACK_ENV after modified in a test case
Expectations first
Be sure that test fixtures satisfy referential integrity before calculating

There exists some other test files that load :minivans fixtures but don't load :speedometers.
Loading :speedometers here prevents the following error when this test was run after such test:
CalculationsTest#test_should_group_by_association_with_non_numeric_foreign_key:
ActiveRecord::RecordNotFound: Couldn't find all Speedometers with 'speedometer_id': (ABC, s1) (found 1 results, but was looking for 2)
Move association definition to the model file
Move model definition to test/models for test order indenendency
User Model#last to certainly get lastly created data

This test would fail when executed after any test that calls fixtures(:binaries)
make it easy to copy & paste the config from deprecation warning.

[ci skip]
No transaction for a test that creates fixtures in the test body
Avoid using heredoc for user warnings

Using heredoc would enforce line wrapping to whatever column width we decided to
use in the code, making it difficult for the users to read on some consoles.

This does make the source code read slightly worse and a bit more error-prone,
but this seems like a fair price to pay since the primary purpose for these
messages are for the users to read and the code will not stick around for too
long.