use Hash#fetch to eliminate conditional
simplifies a regexp

We simplify two things here: First since * is greedy it is enough to go
look for the rightmost ::, no need to ask the regexp engine to match the
rest of the string since we are not validating anything, only capturing.
The second simplification comes from using a look-ahead assertion, that
allows us to have the capture in $&, thus removing the need of a group.
instead of returning $& if =~ succeeds, use String#[]
simplifies yet another regexp
Remove dependency on actionpack in ActionView::AssetPaths

Since Action View should not depend on actionpack, it's best to delegate
invalid_asset_host! to controller and just rely on such simple contract
instead of raising ActionController::RoutingError directly.
Move ActionController::RecordIdentifier to ActionView

Since it's more about DOM classes and ids it belongs to Action View
better. What's more, it's more convenient to make it part of Action View
to follow the rule that Action Pack can depend on Action View, but not
the other way round.
Add ActionView::ModelNaming

It's just a duplicate of ActionController::ModelNaming. These are just a
simple helpers for decoupling Active Model, so it does not make sense to
extract it to Active Support, but the point is to decouple also Action
View and Action Pack
Deprecate ActionController::RecordIdentifier
Move action_controller/vendor/html-scanner to action_view

This is another step in moving Action View's dependencies in Action Pack
to Action View itself. Also, HtmlScanner seems to be better suited for
views rather than controllers.
Remove stubs from LogSubscriber tests

We can use another way to instantiate ActionView::Base, by passing
renderer as a first option. Thanks to that we can just pass prefixes to
LookupContext instead stubbing them on the controller. This is also good,
because that kind of API is used in Rails code.
Remove comment about getting rid of old AV::Base.new behavior

I've talked to José Valim, who added this comment, and there is no need
to remove old API. It's good to have a simple way to instantiate
ActionView::Base, by just passing view paths as a first argument,
instead of constructing LookupContext and then the Renderer.

[ci skip]
Deprecate mime types lookup in auto_discovery_link_tag

Automatically handling mime types for things other than :rss and :atom
is not functionality that justifies dependency on Mime::Type from
actionpack.
Remove Mime::Type translations from Action View

Action View should not be responsible for translating mime types. Any
translation that's needed should be handled at controller level.
Add ActionView::Base.default_formats

default_formats array is used by LookupContext in order to allow
rendering templates when :formats option is not passed. Previously it
was always set to Mime::SET, which created dependency on Action Pack. In
order to remove this dependency, Mime::SET is used only if
ActionController is loaded.
Use ActionView::Base.logger instead of AC::Base.logger
Don't require action_dispatch in ActionView::UrlHelpers

ActionDispatch::Routing::UrlFor was always required in UrlHelpers. This
was changed by splitting previous implementation of UrlHelper into 2
modules: ActionView::Helpers::UrlHelper and
ActionView::Routing::UrlHelper. The former one keeps only basic
implementation of url_for. The latter adds features that allow to use
routes and is only required when url_helpers or mounted_helpers are
required.
Implement ActionView::Template::Types

AV::Template::Types is a small abstraction to allow to specify template types
that can be used in ActionView. When Action Pack is loaded it's replaced with
Mime::Type.
Add deprecation horizon to html-scanner
Deprecate Template#mime_type
No need to use included hook for include

When module is extended ActiveSupport::Concern, include calls are lazily
loaded, so there is no need to wrap it with included hook.