future: support exceptions
promise: add #realized? alias
delay: implement delay
README: add delay example
promise: remove useless return
future: rewrite it without inheriting from Promise
future: don't define the exception