c.typeCheck(silent = true) now suppresses ambiguous errors

Otherwise use cases like the one shown in the attached test (trying to
typecheck something, which leads to an ambiguous overload error) will
mysteriously fail compilation.
Reimplementing much of the DefaultPromise methods
Optimizations:
1) Avoiding to call 'synchronized' in tryComplete and in tryAwait
2) Implementing blocking by using an optimized latch so no blocking ops for non-blockers
3) Reducing method size of isCompleted to be cheaper to inline
4) 'result' to use Try.get instead of patmat
Merge pull request #2508 from viktorklang/wip-removing-synchronization-from-DefaultPromise-2.10-√

Reimplementing blocking awaiting for Futures so only the blockers have t...
SI-7391 Always use ForkJoin in Scala actors on ...
... Java 6 and above (except when the porperty
actors.enableForkJoin says otherwise)

Like SI-7236 and SI-7237, the logic in
scala.actors.scheduler.ThreadPoolConfig.useForkJoin
(which resulted in a different thread pool implementation
being chosen) was causing random hangs in the test
concurrent-stream.scala when running on Avian.
Merge pull request #2506 from scalamacros/ticket/7461

c.typeCheck(silent = true) now suppresses ambiguous errors
Increase build.number to 2.10.3

Gets this branch ready for the next release in the 2.10.x series.
Merge pull request #2572 from JamesIry/2.10.3_build_number

Increase build.number to 2.10.3
Cache the most recently created SubstTypeMap.

I discovered that a 1-element cache for SubstTypeMaps
gave a 75-90% hit rate.
SI-7473 Bad for expr crashes postfix

This commit makes building PostfixSelect robust against a bad pos
on its operand, which can happen if a bad for expression results
in an EmptyTree.
SI-7497 Fix scala.util.Properties.isMac

It returned wrong values because it used the java.vendor
property instead of os.name.

See http://mail.openjdk.java.net/pipermail/macosx-port-dev/2012-November/005148.html
for the reason why we don't follow developer.apple.com/library/mac/#technotes/tn2002/tn2110.
SI-6138 Centralize and refine detection of `getClass` calls

`getClass` is special cased in the compiler; this is described
in in the comments on `Definitions.Any_getClass`.

Part of this happens in `Typer#stabilize`. This was trying to determine
if an Ident or Select node was a call to `getClass` by merits of the name
of the tree's symbol and by checking that the its type (if it was a
MethodType or PolyType) had no parameters in the primary parameter list.

Overloaded user defined `getClass` methods confused this check. In the
enclosed test case, the tree `definitions.this.getClass` had an
`OverloadedType`, and such types always report an empty list of `params`.

This commit:

  - changes `stabilize` to use `isGetClass`, rather than the
    homebrew check
  - changes `isGetClass` to consider a `Set[Symbol]` containing all
    `getClass` variants. This moves some similar code from `Erasure`
    to `Definitions`
  - keeps a fast negative path in `isGetClass` based on the symbol's name
SI-7509 Avoid crasher as erronous args flow through NamesDefaults

The fix for SI-7238 caused this regression.

This commit marks taints whole Apply with an ErrorType if it
has an erroneous argument, so as to stop a later crash trying
to further process the tree.
Merge pull request #2559 from soc/SI-7497

SI-7497 Fix scala.util.Properties.isMac
SI-7486 Regressions in implicit search.

Revert e86832d7e8 and dd33e280e2.
SI-7421 remove unneeded extra-attachement in maven deploy
SI-7519 Less brutal attribute resetting in adapt fallback

Prefers `resetLocalAttrs` over `resetAllAttrs`. The latter loses
track of which enclosing class of the given name is referenced by
a `This` node which prefixes the an applied implicit view.

The code that `resetAllAttrs` originally landed in: https://github.com/scala/scala/commit/d4c63b#L6R804
Merge pull request #2595 from adriaanm/backport-pr-2450

SI-7421 remove unneeded extra-attachement in maven deploy
Merge pull request #2588 from retronym/ticket/7509

SI-7509 Avoid crasher as erronous args flow through NamesDefaults
A test case for a recent LUB progression.

A test distilled from a Lift example that compiles correctly
under 2.10.1, but not under 2.10.0.

I pinpointed the progression to:

  https://github.com/scala/scala/commit/a06d31f6#L0R6611

Chalk up another win for `dealiasWiden`.
Merge pull request #2600 from retronym/topic/lub-dealias-widen

A test case for a recent LUB progression.