pre-initialize all instance vars in Promise, Future, Delay to avoid issues in JRuby
forgot to complete the wrapping of add_observer in multiplex
notify observers before releasing waiters that multiplex has completed
test
optionally use a user-provided queue in FixedPool and EventLoop
allows SizedQueues, more efficient platform-native queues, etc.
must duck-type with  [:<<, :pop, :size, :clear]
move set_result into Promise, and support << which takes a value instead of a callable
simple "dataflow variable", which is just a Future wrapped in a proxy
which delegates all messages to the future's #value
test forwarding of Future methods into dataflow
reorg paths
fix issue with complete future list & result being conflated in Multiplex
accept mutex-duck as optional 2nd argument
perform self-replacement on proxied method result
slightly optimize respond_to?
spec for Synchronized class, and fixes to make it pass
test for actual Synchonized objectness as best we can
added Scala-like onSuccess/onFailure/onComplete callbacks to Future
clear callbacks after running so they can be GC'd
add hacky scala-like #map implementation to Future
added Scala-like fallback_to method on futures
added Scala-like #transform method to Future
release ALL callbacks when future/promise completes, not just ones that are called
added scala-like #filter method on Future
fix callbacks calling wrong method in chain