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
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.
Merge pull request #16637 from Agis-/redirect-with-constraint-route

Fix the router ignoring constraints when used together with a redirect route
Demodulize ActiveRecord::MigratorTest
Reset ActiveRecord::Migration.verbose to the value before
No tests are dealing with ActiveRecord::Migration.message_count here anymore
MigrationTest doesn't need to be verbose anymore
Silence another test that runs migrations
Bring original puts back after finishing tests
Reset ActiveRecord::Migration.message_count counter before start testing
[ci skip] Fix example code of ActiveRecord::FixtureSet.context_class
Don't rescue IPAddr::InvalidAddressError

IPAddr::InvalidAddressError does not exist in Ruby 1.9.3
and fails for JRuby in 1.9 mode.

As IPAddr::InvalidAddressError is a subclass of ArgumentError
(via IPAddr::Error) just rescuing ArgumentError is fine.
Merge pull request #16728 from splattael/invalid_address_error

Don't rescue IPAddr::InvalidAddressError
Merge pull request #16739 from y-yagi/patch-6

[ci skip] Fix example code of ActiveRecord::FixtureSet.context_class
Revert "Merge pull request #16254 from zuhao/refactor_activerecord_attribute_decorators_test"

This reverts commit 16fe19831548f108c113094d106663497fc190d5, reversing
changes made to 4c81c8ce533896be28bdc0b055ff30bb9dee1316.

The call to `Model.reset_column_information` was to express the intent of the test.
`reset_column_information` itself can trigger SQL queries because it checks
for a tables existance. Let's move it outside of the block.

/cc @sgrif