Ctor default-getters unique name and are typed in constructor context
SI-5543: Merge with trunk

Reverts name unenmanglement that was objectionable in the previous patch
commit 47bfd744177121de08fed489a5b0b1b59a1ae06a.
Porting akka future tests.

Fixed a bug in Future.zip.
SI-5543: Ctor default arg wrongly scoped (revised)

This patch fixes the motivating bug by detecting when a method is
the default arg getter for a constructor parameter.  That requires
fixing a secondary bug where an arbitrary string was used to encode
<init> in lieu of <init>.encode.  There is no speculative mangling.
Fighting bitrot with typing.

  if (false && settings.debug.value) { ... }
      Date:   7 years ago
      *** empty log message ***

That's way past the sell-by date for 'if (false && condition)'.
Fixed `Setting.enabling` to properly disable dependent settings when the original setting is set to `false`.

This can be witnessed in the IDE, when explicitly setting the `-optimize` flag to false leads to setting all the dependent flags to true (`-Yinline`, `-Ydce`, `-Ycloselim`).
Presentation Compiler tests for visibility of members.

Removed some unneeded indirection in the testing framework.
Fixed a bug with setting execution contexts.

Ported most of the future tests.
Add promises tests.
Merge branch 'master' into feature/future-compat
Merge commit 'refs/pull/452/head'; commit 'refs/pull/453/head' into develop
Optimization of Predef implicits.

All those wildcards in a default-scoped implicit are expensive,
they each lead to a typevar on every search.  Restructured the
Tuple2/Tuple3 Zipped classes, they're better this way anyway.
This also gets all that Tuple[23] code out of genprod.
De-duplication in Contexts.

Friends don't let friends cut and paste.
Merge branch 'apr30-checkin' of /scala/trunk into develop
Merge branch 'master' into feature/future-compat
Widen types in signatures of Future companion methods, refactor OnceCanBuildFrom.

Removed the implicit modifier on the OnceCanBuildFrom, as we don't
support implicit classes with zero arguments.

Added an implicit OnceCanBuildFrom method.

The idea behind OnceCanBuildFrom is for it to be used by methods which
construct collections, but are defined outside of collection classes.
OnceCanBuildFrom so far worked only for objects of type TraversableOnce:

    shuffle(List(1, 2, 3).iterator: TraversableOnce[Int])

but this used to result in an implicit resolution error:

    shuffle(List(1, 2, 3).iterator)

because after the type parameter M for `shuffle` was inferred to Iterator, no implicit
of type CanBuildFrom[Iterator[_], A, Iterator[A]] could be found.

Introduced another CanBuildFrom to the Iterator companion object.

Modified Future tests appropriately.
Refactor OnceCanBuildFrom to check the collection type.

The builder is now instantiated as an iterator builder only
if a generic builder cannot be found on the collection that
requested the builder.

Reason - we want this behaviour:

scala> scala.util.Random.shuffle(List(1, 2, 3): collection.TraversableOnce[Int])
res0: scala.collection.TraversableOnce[Int] = List(3, 1, 2)

instead of this one:

scala> scala.util.Random.shuffle(List(1, 2, 3): collection.TraversableOnce[Int])
res0: scala.collection.TraversableOnce[Int] = non-empty iterator

which may lead to nasty surprises.

Alternately, to avoid pattern-matching in OnceCanBuildFrom.apply, we
could mix in GenericTraversableTemplate-related functionaly into
TraversableOnce, but this may become too complicated.
Upgrade jQuery from 1.4.2 to 1.7.2

jQuery 1.4.2 uses event.layerX and event.layerY but these are
deprecated and WebKit logs a lot of warnings.

Additionally jquery.layout 1.3.0 RC 29.3 doesn't work correctly
with jQuery 1.7.2, then we have to upgrade it to 1.3.0 RC 30.5.

http://bugs.jquery.com/ticket/10531
Refactor Unsafe related stuff in scala.concurrent.
Merge commit 'refs/pull/456/head' into develop