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.
```
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 #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
Disable OSGi tests under Java 8

I've lodged SI-8642 with more details of the failure to make sure we
get them going again.
Java 6-8 agnosticism for a test

Under Java 8, the output contains newly added methods in
j.u.Iterator.

I've created cut down, test-local versions of the relevant types
to decouple.
Support Java 8 in the checkfile for neg/t6289
Java 8 support for run/repl-javap-app.check

There are two differences from the java7 checkfile.

1. `delayedEndpoint$MyApp$1` now has a descriptor shown:

  public final void delayedEndpoint$MyApp$1();
    descriptor: ()V // new

2. A whitespace change in data in `LocalVariableTable`.

I'm not sure yet what change leads to point 1.
Minor code clean up in Delambdafy

  - remove unused local method
  - fix indentation
Invokedynamic backed lambdas

  - Replace `<<load args>>; new anon$fun; <init>`
         by `<<load args>>; invokedynamic`
  - adjust to flipped captured/lambda parameter group order
    in the body of the old-school anonymous function lambda
  - Don't emit the anonymous class at all

    % export J8_COMPAT=/code/scala-java8-compat/target/scala-2.10/scala-java8-compat_2.10-0.1.0-SNAPSHOT.jar
    % qbin/scalac -Ybackend:GenBCode -Ydelambdafy:method -target:jvm-1.8 sandbox/test.scala
    % qbin/scala -classpath .:${J8_COMPAT} -nc Lambda
Disable -Ydelambdafy:method for specialized FunctionN
fixup accessor
fixup specialization / delambdafy interaction
Fix regression in BCode handling of Array.clone