only reference self.EXECUTOR in Future.call
bugfix: Future.respond was synchronous
Future -> Promise, Future is now a read-only subclass of Promise; FutureError -> MiraiError; fix setvalue/setexception race condition