Refactors AsSeenFromMap to expose extension point.

The extension point was the initial motivation but I also tried to
bring some clarity to the internals. This is a setup commit for
scaladoc and interactive modularization, and also will be followed
by a fix for abstract types losing their prefixes (SI-6161.)
Simplified correspondingTypeArgument based on reviewer feedback.
Establishes what's up with widening in asSeenFrom.

Added explanatory comment.
Renamed type param to be consistent with convention.

It's super confusing to see debugging output showing
a type constructor called "Coll". The convention in the
collections is that CC[A] takes type parameters and
Coll is an alias for the applied type.
Merge pull request #2163 from paulp/pr/as-seen-from

Refactors AsSeenFromMap to expose extension point.
Merge pull request #2192 from paulp/pr/rename-type-param

Renamed type param to be consistent with convention.