TypeTree printing modified (SI-8447)
SI-8553 WrappedArray throws exception on lastIndexWhere when index out of range

Adds a check in `IndexedSeqOptimized#lastIndexWhere(A => Boolean, Int)`
to begin searching in the end of the collection if `end` is greater than
the collection's length.

Discussed in
https://groups.google.com/d/topic/scala-internals/-MacXivbY0Q/discussion.
SI-8185 Correct grammar for single-warning compilation run
SI-8609 Fix flattening of definitions and imports in quasiquotes

Quasiquotes allow to unquote trees with ..$ with block flattening
semantics to simplify composition:

  val onetwo = q"1; 2"
  val onetwothree = q"..$onetwo; 3" // same as q"1; 2; 3"

If there is no block it will be equivalent to $ unquoting:

  val one = q"1"
  val onetwo = q"..$one; 2" // same as q"1; 2"

But the inconsistency here is that currently only terms support
this single-element semantics. This commit extends this functionality
to also support definitions and imports. So that following code works:

  val q1 = q"val x = 1"
  val q2 = q"..$q1; val y = 2" // same as q"val x = 1; val y = 2"
Cleanups for tracing in GenBCode, improve some comments
Minor cleanups and commenting around BType.

Use `length` instead of `size` on arrays in `reflect/internal/Names`.
Cleanups in Names.scala

Enter only fully constructed Name objects into the hash table, this
should make lookupTypeName thread-safe.

Clean up lookupTypeName - the hash code for a type name is the same
as for its correspondent term name.

Going from a type name toTermName should never create a new TermName
instance. Assert that.
Re-use the exsiting range of the name table when using subName.

The sub-name can just point to a smaller range of the array.
More cleanups and commenting in GenBCode
Move class BType to separate component, include it by composition.

Rewire BType in its new location with the rest of the backend.

Remove the now-empty BCodeGlue.
SI-5905 Clarify test case

The language feature options are discovered reflectively, but it
is nice to enforce that expected options are supplied.

Short of that, the code string includes a rowdy postfix operator.

It still does enforce that at least one option was discovered.
adds MacroPlugin.pluginsIsBlackbox

This is an important omission in the current macro plugin API, which was
designed before the blackbox vs whitebox separation was implemented.

Even if one overrides pluginsTypedMacroBody and pluginsMacroExpand,
that would still be not enough to write a custom macro expander, because
typedImplicit1 uses isBlackbox, which is tightly coupled with the standard
way of reading/writing macro signatures.
macro args now correctly preserve range positions

Somewhen in the 2.11.0 development cycle we started duplicating macro arguments
for increased robustness. What wasn't taken into account though is that
Tree.duplicate destroys range positions. This commit fixes the problem.

2.10.x is unaffected by this bug, because it doesn't duplicate the args yet.
SI-8494 Restore filtering javap output

Regressed in support for new delayedEndPoint, where it must
pick what to filter for.

`s/claas/klass/` and similar.
SI-8494 Javap filter includes specialized

When filtering javap output, include specialized versions
of methods. For anonfuns, in particular, the apply$sp is
the method of interest.
SI-6678 Make currentMirror macro hygenic
To have effect, @deprecated needs to be an annotation.
SI-8475 GroupedIterator is also lazy when padded

This is the related case which dnlgtm in the previous fix.

The old code seems to be tilting for laziness, but we have
to fill the buffer with the current group anyway, so there
is no reason to be coy about calling ArrayBuffer.length.
SI-8630 lineToString no longer long by one at eof

One more EOL crasher, or lack-of-EOL crasher, when the text
is at EOF.

It was not caught by the last round of excellent and
thorough tests because

```
// If non-whitespace tokens run all the way up to EOF,
// positions go wrong because the correct end of the last
// token cannot be used as an index into the char array.
// The least painful way to address this was to add a
// newline to the array.
```
Include scalap in the distro.