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...
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