Porting akka future tests.

Fixed a bug in Future.zip.
@unspecialized annotation.

Suppresses specialization on a per-method basis.

I would have preferred to call it @nospecialize, but seeing as the
positive form of the annotation is @specialized, that would have sown
unnecessary grammatical confusion.  @nospecialized sounds a bit too
caveman for my tastes.  "Grog no specialized! Grog generic!"
Removed all the imports of the bridge annotation.

Now that nothing uses it.
Eliminate useless type parameter.
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