move synthetic case symbol detection to treeInfo

encapsulate creating synthetic case labels while we're at it
SI-5897 don't check sensicality in match

the pattern matching analysis should be more precise anyway
(don't warn twice)
SI-5930 don't warn about dead code in jump to case
use hasAllFlags to detect gadt skolems

trying to compromise between
- easy discovery of what special mix of flags identifies a gadt skolem
- ensuring that hasAllFlags is used and not hasFlag

keeping the secret combo close to the creator/detector methods instead of moving them to Flags
ideally, we'd allocate a new bit in Flags, but that's to invasive right now

these symbols are also relatively short-lived:
thet are created in adaptConstrPattern and removed at the end of typedCase
Promote unchecked warnings into being emitted by default.

To make that viable, suppression of unchecked warnings is now available
on a per-type-argument basis. The @unchecked annotation has hereby been
generalized beyond exhaustiveness to mean context-dependent "disable further
compiler checking on this entity." Example of new usage:

  def f(x: Any) = x match {
    case xs: List[String @unchecked] => xs.head   // no warning
    case xs: List[Int]               => xs.head   // unchecked warning
  }

It turns out -unchecked has been put to other noisy uses such as
the pattern matcher complaining about its budget like a careworn spouse.
This actually simplified the path forward: I left -unchecked in place
for that and general compatibility, so those warnings can be enabled
as before with -unchecked. The erasure warnings I turned into regular
warnings, subject to suppression by @unchecked.

Review by @odersky.
SI-5764 Honor -language:_

We now enable all language feature if -language:_ is given on the command line. Review by @paulp
Fix for SI-6084, type alias crasher.

"no need for pt.normalize here, is done in erasure"

ORLY? Review by @adriaanm.
Made worksheet output wrap around after custimizable # of output columns.
minor fixes scaladoc
Fixes SI-6172.

All the credit for fixing magical constants in the encoding algorithm goes to @magarciaEPFL.
This time provided a test case that exercises GenASM.
updating resolveDups() to use MethodTFA.mutatingInterpret()
Better worksheet support.

We now move instrumentation info to the end of lines where possible so that line and column positions are kept unchanged wrt original source. This is important for error reporting.
SI-6175 reflect over classes with symbolic names

Top-level classes with symbolic names (having binary names like $colon$colon)
have previously been incorrectly treated as local classes by Scala reflection.
As a result they were loaded as if they weren't pickled (i.e. as Java classes).

Moreover this bug also had a more subtle, but more dangerous manifestation.
If such a class has already been loaded indirectly by unpickling another class
(which refers to it in its pickle) and then someone tried to load it explicitly
via classToScala, then it would be loaded twice (once as a Scala artifact and
once as a Java artifact). This is a short route to ambiguities and crashes.

The fix first checks whether a class with a suspicious name (having dollars)
can be loaded as a Scala artifact (by looking it up in a symbol table).
If this fails, the class is then loaded in Java style (as it was done before).

Ambiguous names that can be interpreted both ways (e.g. foo_$colon$colon)
are first resolved as Scala and then as Java. This prioritization cannot lead
to errors, because Scala and Java artifacts with the same name cannot coexist,
therefore loading a Scala artifact won't shadow a homonymous Java artifact.
Merge pull request #1034 from xuwei-k/fix-scaladoc

minor fixes scaladoc
Merge pull request #982 from adriaanm/ticket-wolfcry

SI-5930 SI-5897 reduce redundant warnings in matches, fix flags usage
Merge pull request #1022 from odersky/ticket/5764

SI-5764 Honor -language:_
staticTpe => staticType, actualTpe => actualType
Merge pull request #1046 from scalamacros/topic/statictpe-actualtpe

staticTpe => staticType, actualTpe => actualType
SI-6074

When selecting a non-accessible constructor, don't infer a view to
something with an accessible constructor.
Merge pull request #1028 from odersky/topic/worksheet

Made worksheet output wrap around after custimizable # of output columns