Merge pull request #2083 from scalamacros/ticket/6240

SI-6240 synchronization for runtime reflection
SI-7159 Distinguish between assignability and sub typing in TypeKinds

TypeKinds said SHORT <:< INT. But that's not quite true on the JVM. You
can assign SHORT to INT, but you can't assign an ARRAY[SHORT] to
ARRAY[INT]. Since JVM arrays are covariant it's clear that assignability
and subtyping are distinct on the JVM.

This commit adds an isAssignable method and moves the rules about
the int sized primitives there. ICodeCheckers, ICodeReader, and
GenICode are all updated to use isAssignable instead of <:<.
Merge pull request #2177 from JamesIry/master_SI-7159

SI-7159 Distinguish between assignability and subtyping in TypeKinds
Tone down a soft-warning to only show under -Ydebug.

SI-6191 remains open and can lead to incomplete debug
scope information. In 2.10.0, the backend detected when
this happend, and warned the user. But there is little
the user can do about the warning. We have a few test
cases for the problem now, so we should not pollute
the compile output.
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.)
Merge pull request #2182 from retronym/ticket/6191

Tone down a soft-warning to only show under -Ydebug.
Revert SI-6240 synchronization for runtime reflection

This commit reverts #2083:
  - 387b2590db runtime reflection: death from thousand threads
  - 73d079fb38 removes the assertion in missingHook
  - f4dd56ca5d synchronizes names
  - dd148de5a8 synchronizes pendingVolatiles
  - 4cbb9357c5 synchronizes toolboxes
  - 07bcb6176a SI-7045 reflection now auto-initializes selfType
  - bebd62d566 optimizes Scala reflection GIL
  - 735634f1d6 initializes lazy vals and inner objects in advance
  - 5b37cfb19a introduces GIL to Scala reflection
  - 981da8edfc cleans up initialization of runtime reflection
  - b2c2493b22 reflection no longer uses atPhase and friends
  - a9dca512d8 synchronizes symbols
  - 0262941b3c removes the crazy extraneous log
  - 21d5d3820b moves Symbol#SymbolKind to Symbols
Merge pull request #2179 from adriaanm/merge-2.10.1

Merge 2.10.1 into 2.10.x
Merge pull request #2180 from adriaanm/merge-2.10.1-master

Merge 2.10.1 into master
Merge pull request #2184 from adriaanm/revert-pr-2083

Revert SI-6240 synchronization for runtime reflection
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.
Merge pull request #2167 from retronym/ticket/7126

SI-7126 Account for the alias types that don't dealias.
Merge pull request #2168 from retronym/ticket/7183

SI-7183 Disable unreachability for withFilter matches.
test.done again checks bin compat (using mima 0.1.5)
[nomaster] SI-7195 minor version mustn't introduce warnings

We want 2.10.1 to be a drop-in replacement for 2.10.0,
so we can't start warning where we weren't warning in 2.10.0.

See SI-5954 (#1882, #2079) for when it was an implementation restriction,
which was then weakened to a warning. It's now hidden behind -Ydebug.
SI-7185 Avoid NPE in TreeInfo.isExprSafeToInline

We got there typechecking code with a redundant
layer of Block.

We can't express that in source code, so we test
this with manual tree construction and with XML
literals, which as reported produce such trees.
Require firstKey and lastKey on IntMap to be tail recursive.
Merge pull request #2189 from adriaanm/ticket-7195

[nomaster] SI-7195 minor version mustn't introduce warnings
Merge pull request #2190 from adriaanm/test-runs-mima-2.10.1

test.done again checks bin compat (using mima 0.1.5)
Simplified correspondingTypeArgument based on reviewer feedback.