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-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.
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.
Raw string interpolator

Adds a raw string interpolator raw"..." which does not do any escape sequence processing.
New Worksheet mixing scheme

Debug changes
Closed 6029 ...

... in a less nice way than I would like. Essentially, we mask type errors at later stages that arise from comparing existentials and skolems because we know that they are not tracked correctly through all tree transformations. Never mind that all these types are going erased anyway shortly afterwards. It does not smell nice. But as I write in the comment, maybe the best way out is to
avoid skolems altogether. Such a change by far exceeds the scope of this pull request however.
Merge pull request #1010 from odersky/ticket/6029

Closed SI-6029 ...
Merge pull request #991 from adriaanm/ticket-5958

SI-5958 This deserves a stable type
Merge pull request #1002 from magarciaEPFL/fixes210

SI-6142: warn @inline-methods ending up not inlined (rightfully or not)
Closes SI-5878

We need to impose an additional rule on value classes: They may not unbox directly or indirectly to themselves.