SI-2038 make pt fully-defined when typing Typed

dropExistential turns existentials in the expected type (pt) that's passed to `typed`
into `BoundedWildcardType`s, but those should not end up in trees

when typing a `Typed` node, we didn't check for the type being fully defined (`isFullyDefined`)
(and thus did not make it fully defined by turning these BWTs into existentials again using `makeFullyDefined`)
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
Avoids loading scala.package and scala.reflect.package from source if a classfile exists.

We know that loading these packages from source leads to compilation errors. To reproduce: Update scala.reflect.package, make sure it is on the source path and recompile anything using it. You will get a number of errors having to do with ClassTags and macro expansions. With the patch, these errors go away because the package is not loaded as long as a classfile exists.
Closes SI-5882

I have added a restriction that value classes may not contain inner classes or objects. This makes sense as the "outer" field of any such classes or objects would be ephemeral, with surprising results. SIP-15 has been changed accordingly.
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-5799 Secondary constructors in value classes not allowed

I changed the SIP and added a test.
Fixed SI-5603. Early definitions now get transparent positions.
This includes a fix for a minor problem described in #594 -
ensureNonOverlapping still focuses on default position when outside of early defs.
Review by @dragos, @odersky.
Fixed SI-5031. Only consider classes when looking for companion class.
sym.effectiveOwner revealed this piece of inconsistency. companionModule
is fine because similar check is there already.

Review by @paulp.
ClassTag.Nothing now throws an exception

Nothing is a bottom type, so it doesn't make much sense for it to have
a meaningful erasure (ClassTag.Nothing.runtimeClass).
SI-5866 Support casting null to value classes

The fix now supports null.asInstanceOf[C] where C is a value class that wraps a primitive type.
Merge pull request #998 from odersky/topic/bootpackages

Avoids loading scala.package and scala.reflect.package from source if a ...
Removed resolveOverloaded

It was decided to remove it until the next release
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.
Merge pull request #1015 from hubertp/2.10.x-issue/5603

Fixed SI-5603. Early definitions now get transparent positions.
Merge pull request #960 from clhodapp/remove-resolve-overloaded

Remove resolveOverloaded
Merge pull request #981 from adriaanm/ticket-2038

SI-2038 make pt fully-defined when typing Typed