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-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.
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.
SI-8503 Clean up interpolation of help message

We have interpolation now. This commit also moves an extra blank
line from the end to the middle of the message.
SI-8596 Fix rangepos crasher with defaults, poly methods

Regressed in SI-7915 / 3009a525b5

We should be deriving the position of the synthetic `Select`
from `basefun1`, rather than `basefun`. In the new, enclosed
test, the difference amounts to:

    new Container().typeParamAndDefaultArg[Any]()
    `------------ basefun1 --------------'
    `----------------- basefun ---------------'

For monomorphic methods, these are one and the same, which is
why `presentation/t7915` was working. I've extended that test
to a polymorphic method to check that hyperlink resolution works.
SI-8503 -version is info setting

And the Scala runner exits with 0 for info settings.

Producing the version string is consolidated.

The compiler driver uses the default settings hook to
short-circuit on -version.  That's to avoid creating
the compiler; really it should check shouldStopWithInfo
first, as the runner does.
SI-8637 fixes toolbox phase corruption

It turns out, Toolbox.typecheck hasn't been properly re-initializing its state
between requests.

In particular, globalPhase was left untouched, which made the compiler
think that it's past typer, and that in turn disabled implicits.

This commit applies a symptomatic fix to this problem.
Merge pull request #3799 from retronym/topic/8596-2.10

SI-8596 Fix rangepos crasher with defaults, poly methods
Merge pull request #3798 from adriaanm/scalap

Include scalap in the distro.
Merge pull request #3786 from tvierling/deprecate-fixes-2.11.x

Deprecate AVLTree and concurrent.Lock in 2.11.2
Merge pull request #3789 from clhodapp/fix/SI-6678

SI-6678 Make currentMirror macro hygenic
Merge pull request #3795 from som-snytt/issue/8475

SI-8475 GroupedIterator is also lazy when padded
Merge pull request #3796 from som-snytt/issue/8630

SI-8630 lineToString no longer long by one at eof
Merge pull request #3803 from xeno-by/ticket/8637

SI-8637 fixes toolbox phase corruption
Add documentation to parts of scala.concurrent.
Fix emitting Array(1).clone() in GenBCode