Minor cleanups and comments in GenBCode
Comment summarizing the JVM spec for InnerClass / EnclosingMethod
Remove unnessecary check when computing InnerClass attribute flags

The final flag is computed correctly by javaFlags.
Pattern matching on ClassBType extracts the inernalName
Clean up and document some usages of flags in the backend
Support writing classfile of version 52
Documentation for isModuleClass
Remove invalidation from Global.scala

The invalidation has been introduced in these commits:

https://github.com/scala/scala/commit/167309afd10f9b65b35e6874a30ea6340a1ddc44
https://github.com/scala/scala/commit/ace051ff0abe112b767c3912f846eb4d50e52cf5
https://github.com/scala/scala/commit/e156d4a7cf4afdab91b7c281a0e8ae6e4743cc4a

It's safe to remove this functionality. It was added originally to support an experiment with resident compilation. The experiment was performed in sbt and dropped in  https://github.com/sbt/sbt/commit/6def08e029e474dc35af04b7403a2aeaddd0dec6

Since then Scala team concluded to not work on resident compilation so it's safe to delete unused code.
SI-6476 Improve error on escapement

Behavior of escape processing under string interpolation can
be confusing.  This commit improves the exception message so
you know at least what sort of escapes are handled.

This came up on SO in the form `s"\d".r`, where it may not
be obvious what is throwing and how to work around it.

```
scala> s"\d".r
scala.StringContext$InvalidEscapeException: invalid escape '\d' not one of [\b, \t, \n, \f, \r, \\, \", \'] at index 0 in "\d". Use \\ for literal \.

scala> s"a\"
scala.StringContext$InvalidEscapeException: invalid escape at terminal index 1 in "a\". Use \\ for literal \.
```

Referencing SI-6476 because that has become the magnet ticket
for "escape processing under string interpolation, huh?"

This doesn't address `$"` and doesn't handle the more interesting
parse error `s"a\"b"`.
SI-6476 Documentation

And adjust the test.
SI-6476 Unitize procedures, readability

Strictly trivial updates for readability.

I used to prefer procedure syntax, but since it was
scheduled for removal, I can't scan a def without an
equals sign.
SI-6476 Unitize ALL the procedures!
Remove "throws InvalidEscapeException" from StringContext.raw doc

Since StringContext.raw doesn't escape its input, it does not call `treatEscapes` and cannot throw the InvalidEscapeException.
Fixed incorrect example in StringContext.raw doc

As pointed out by @som-snytt, \u0023 is #, not \u0025.
Also update jline.version when update.versions is set during build
Better error message than 'bad symbolic reference'.

Let's not scare people, and try to give them some advice.

PS: we should really come up with a better mechanism for testing errors/warnings
SI-8743 Fix crasher with poly-methods annotated with @varargs

The code that generated the Java varargs forwarder was basing
things on the `ValDef-s` of the parameters of the source method.
But, their types refer to a type parameter skolems of the enclosing
method, which led to a type mismatch when typechecking the forwarder.

Instead, I've reworked the code to simply use the `DefDef`-s symbol's
info, which *doesn't* refer to skolems. This actually simplifies the
surrounding code somewhat; rather than repeated symbols in a map
we can just time travel the pre-uncurry method signatures to figure
out which params are releated.
Bump versions for Scala 2.11.2
Merge pull request #3896 from retronym/ticket/8743

SI-8743 Fix crasher with poly-methods annotated with @varargs
Merge pull request #3826 from lrytz/opt/refactorTracked

Assortiment of cleanups and comments around the backend