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-8738  Regression in range equality

Missed the case of comparing a non-empty range to an empty one.  Fixed by checking nonEmpty/isEmpty on other collection.

Added a test to verify the behavior.
Merge pull request #3887 from Ichoran/issue/8738

SI-8738  Regression in range equality
SI-8736 Restore -language to former glory

MultiChoice allows -language to work like -Xlint.

The bug as described was that the setting value was set instead of updated
(++=) with additional flags.

The unreported bug was that `_` no longer set all settings.

The corrected behavior is that "contains" means "it was enabled, or
_ was set and it was not disabled explicitly."

That is the behavior of `-Xlint` but with a different mechanism,
since each lint option is a Setting.

A semantic difference is that -Xlint enables all the lint options,
but -language does not enable all the language features. `scalac -X` does
not explain this additional behavior of the `-Xlint` flag.

Also worth noting that `scalac -feature -language unused.scala` failed
in 2.11.1 but succeeds silently now.
SI-8736 Error if no arg and no default

Now `-language` with no option will emit an error:

```
$ skalac -feature -language unused.scala
scalac error: '-language' requires an option. See '-language:help'.
  scalac -help  gives more information
```
Merge pull request #3888 from som-snytt/issue/8736

SI-8736 Restore -language to former glory
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