SI-6863 root cause fixed using factory of scala.runtime.*Ref

This commit does away with an error-prone division of labor between
UnCurry and LambdaLift, a division of labor by which UnCurry had to
anticipate under which circumstances LambdaLift creates a
scala.runtime.*Ref whose initial value is given by a an expression
including a Try in non-statement position. That sounds complicated,
and it is.

The solution so far (fixing SI-6863) is replaced by a simpler approach,
at the cost of forward binary comptability with pre-2.11 releases,
this time fixing the root cause of SI-6863.

From now on, a s.r.*Ref is instantiated via invocation of
a static factory method in the s.r.*Ref class in question.
Unlike the code that was emitted so far (which involved
NEW refclass, DUP, expr, INVOKESPECIAL refclass.<init>)
the "expr" doesn't appear on the operand stack on top
of the *Ref value being initialized. In other words,
the *Ref initialization is in statement position provided "expr" is.
indentation typo
Partest can --show-diff again after incremental report.

A flag is set in NestUI to look for "diff" in the transcript
of failing tests.
Absolutized paths involving the scala package.

Confusing, now-it-happens now-it-doesn't mysteries lurk
in the darkness. When scala packages are declared like this:

  package scala.collection.mutable

Then paths relative to scala can easily be broken via the unlucky
presence of an empty (or nonempty) directory. Example:

  // a.scala
  package scala.foo
  class Bar { new util.Random }

  % scalac ./a.scala
  % mkdir util
  % scalac ./a.scala
  ./a.scala:4: error: type Random is not a member of package util
    new util.Random
             ^
  one error found

There are two ways to play defense against this:

 - don't use relative paths; okay sometimes, less so others
 - don't "opt out" of the scala package

This commit mostly pursues the latter, with occasional doses
of the former.

I created a scratch directory containing these empty directories:

  actors annotation ant api asm beans cmd collection compat
  concurrent control convert docutil dtd duration event factory
  forkjoin generic hashing immutable impl include internal io
  logging macros man1 matching math meta model mutable nsc parallel
  parsing partest persistent process pull ref reflect reify remote
  runtime scalap scheduler script swing sys text threadpool tools
  transform unchecked util xml

I stopped when I could compile the main src directories
even with all those empties on my classpath.
Hardening against nulls for deserialization.

When one attempts to populate data structures via
deserialization, nulls tend to show up in unlikely or
"impossible" places. Now there are a few fewer.
Merge pull request #2491 from paulp/pr/absolute-packages

Absolutized paths involving the scala package.
Merge pull request #2493 from paulp/pr/null-hardening

Hardening against nulls for deserialization.
Merge pull request #2489 from som-snytt/issue/partest-show-diff

Partest can --show-diff again after incremental report.
Merge pull request #2462 from magarciaEPFL/backendish9

SI-6863 root cause fixed using factory of scala.runtime.*Ref
Flesh out copyMemberDef methods with copyModuleDef.
Boil out some duplicated parser logic.

Our focus today is on packages and package objects.
Merge pull request #2425 from paulp/pr/no-package-objects

Boil out some duplicated parser logic.