Add CompleteFuture, SucceededFuture, FailedFuture, CompletePromise / Add Future.sync*() / Replace hacky exception throwing with PlatformDependent.throwException()