Cleaning up method implementations in Future
    Optimizations:
    1) Avoiding isDefinedAt + apply and using applyOrElse to allow for optimizations later
    2) Reducing method sizes to be more JIT + inliner friendly
    3) Reusing core combinators to reuse inliner/JIT optimizations and be more code-cache friendly
Refactoring to the scala-concurrent-tck.scala
  - there were numerous logical issues with the former implementation
    - failed assertions may not fail the build
  - there was a lot of ceremony and noise
Merge pull request #2511 from viktorklang/wip-cleaner-Future-method-implementations-2.10-√

General SIP-14 Future method implementation cleanup