Allow polymorphic routes with nil when a route can still be drawn

Suppose you have two resources routed in the following manner:

```ruby
resources :blogs do
  resources :posts
end

resources :posts
```

When using polymorphic resource routing like `url_for([@blog, @post])`, and `@blog` is `nil` Rails should still try to match the route to the top-level posts resource.

Fixes #16754
Since /console is an optional feature, mention <%= console %> instead.

(/console is not mounted by default with web-console 2.0.)
Merge pull request #16747 from rsutphin/web-console-gemfile-comment

Clarify that /console is an optional feature
Keep it closer to the original wording [ci skip]
Merge pull request #16755 from codeodor/master

Allow polymorphic routes with nil when a route can still be drawn
Clear schema cache before each test
Fix potenital infinite recursion in changed_for_autosave?

When associations checked for autosave have a cycle, and
none of them is dirty then changed_for_autosave? will be an
infinite loop. We now remember if we're in the check and
will short circuit the recursion.