Fold TracebackFuture into Future.

Since it is no longer possible for TracebackFuture to modify
concurrent.futures.Future instead, there is no need for separate
classes.  Removing the subclass speeds things up a bit by removing
a level of indirection.

Also microoptimized a few methods of Future.
Microoptimizations for coroutines
* Lazily initialize data structures for YieldPoints
* Get rid of Runner.exc_info