[BUGFIX release] Ensure that AutoLocation gets `rootURL` as an option to `create`.

Fixes #4704.

AutoLocation makes decisions about replacement URLs that depend on the `rootURL` setting of the router, but the router was only providing the value of `rootURL` after `AutoLocation.create` was already called, making it not respect the `rootURL`.\n\nTo fix this issue, this commit introduces a `settings` injection type.  This type is private for now. The `root-url` setting is either `null`, the default, or a string value taken from the public API of `Router#rootURL`. `settings:root-url` will be injected as `rootURL` in all objects of `location` type.
[BUGFIX release] Assert rootURL has trailing slash when used with AutoLocation + additional test coverage
Merge pull request #4731 from jayphelps/stable-auto-location-fix

[BUGFIX release] Manual merge PR for #4717 into stable branch