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.)
SI-6816 Deprecate -Yeta-expand-keeps-star

This commit deprecates the -Yeta-expand-keeps-star flag. It was created
in 2.10 to help in the transition from 2.9 but by the time 2.11 comes
out it should no longer be necessary.
Require firstKey and lastKey on IntMap to be tail recursive.
Simplified correspondingTypeArgument based on reviewer feedback.
SI-7132 - don't discard Unit type in interpreter
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.
Always at least log devWarnings.
Added methods debuglogResult and devWarningResult.

Lowering the barriers to sensible logging - these methods are
key in avoiding the "too much trouble" syndrome.
Add some logging to sinful typevar methods.

These super-mutation-oriented methods should enthusiastically
communicate what they are doing, especially when they encounter
anything unexpected. None of this work should be taken as an
endorsement of any of the worked-upon code.
Cleanup in isHKSubType0.

Making the mechanisms more apparent. Renamed to isHKSubType,
because there is no other.
Disentangled RangePositions from interactive.

This is a stepping stone to having range positions all the
time, as well as to modularizing the presentation compiler.
It does not enable range positions by default, only places
them smoewhere where they can be.
Eliminated separate RangePositions trait.

One of those eternal headaches which probably sounded better
on paper. Even before range positions are the default, there's
no reason we can't have the range position code available
in all globals enabled via settings, just like everything else.
Since the problem in SI-6758 is fixed, it's ok to move checking for unused imports to Analyzer. This allows the check to be used in the IDE.
Remove unused symbols and imports from the library.
Merge pull request #2196 from paulp/pr/logging-and-typevars

Logging little understood maneuverings during type inference
Merge pull request #2187 from JamesIry/master_SI-6816

SI-6816 Deprecate -Yeta-expand-keeps-star
Merge pull request #2191 from mergeconflict/SI-7132

SI-7132 - don't discard Unit type in interpreter