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
Fix SI-4560, NoSuchMethodErrors involving self types.

Following this commit are reversions of three prior commits which
introduced difficulties of their own, plus extra tests for this
issue and SI-4601, all of which I pinched from jrudolph.

Maybe there was a good reason for some of the complicated code
related to this ticket. I took the naive position that if we avoided
generating a method call to a particular receiver if the receiver
has no such method, we would encounter fewer NoSuchMethodErrors.

I would believe one can construct a scenario which this doesn't
handle correctly, but it's hard to believe this isn't a big
improvement. Review by @jrudolph, @odersky.
Revert fix part of "Closes 4560. Review by dragos."

This reverts commit 7127d8293775905acd0d04e21d9e045b5c029261.

Conflicts:

	test/files/run/t4560.scala
Revert "Closes #4560. Review by dragos." (introduction of safeREF)

This reverts commit 124cf3f9cbdc582a432c13edd229ba9b8726b99f.

Conflicts:

	src/compiler/scala/tools/nsc/transform/CleanUp.scala
Revert "tentative fix for RC5 lift build problem."

This reverts commit cb4fd65825f3c88908103e48d0d7e89d70d26c22.

Conflicts:

	src/compiler/scala/tools/nsc/symtab/Types.scala
	src/compiler/scala/tools/nsc/typechecker/Contexts.scala
SI-4560 - improved test

Added all the known cases of failing self-types. Added tests for symbol
access (SI-4601) as well which should now be fixed for all of the same cases
as well.
SI-6140 Scaladoc infinite recursion in wiki parser

introduced by dc70d1b7.
SI-5958 This deserves a stable type

`this` (or the self variable) passed as an actual argument to a method
should receive a singleton type when computing the method's resultType

this is necessary if the method's type depends on that argument
Instrument all classes in `instrumented` package.

Extend instrumenting infrastructure to instrument
classes in `instrumented` package. This is useful
because very often you need to put your classes
into non-empty package. E.g. inliner doesn't work
properly with empty package at the moment so in
order to test any behaviour we need to put classes
in some other package that is instrumented.

Added testing code for that to instrumentation
test-case.

Review by @phaller.
Fix `Instrumentation.getStatistics` method in partest.

The previous implementation was wrong because it
would always enable profiling after call to
`Instrumenation.getStatistics` method. Now we are
checking the profiling status and enable it again
only when it was enabled before.

Review by @phaller.
`ScriptSourceFile` should not hard-code `OffsetPosition`.

The presentation compiler should support script source files as well, but it needs range positions. This commit
fixes an oversight when `RangePosition` was introduced.
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.
SI-6142: warn @inline-methods ending up not inlined (rightfully or not)
New Executor.

To try it out:

run "instrument worksheet" as usual in the REPL. Worksheet needs to have enclosing object definition. Say it is named "Obj".

This will generate a file Obj$instrumented. You can compile that file separately and run it using Java. It should reproduce itself.
Disable interrupts during code instrumentation

Code instrumentation needs to see a consistent snapshot of a source file. To achieve that we disable interrupts during getInstrumented.
Adds method askForResponse

Adds method askForResponse which returns a response immediately instead of waiting for a result. That way, one can wait for an ask's result using a timeout.