* Add a `Future::shared` method for creating a future that can be shared
amongst threads by cloning the future itself. All derivative futures
will resolve to the same value once the original future has been
resolved.
* Add a `FutureFrom` trait for future-based conversion
* Fix a wakeup bug in `Receiver::close`
* Add `future::poll_fn` for quickly adapting a `Poll`-based function to
a future.
* Add an `Either` enum with two branches to easily create one future
type based on two different futures created on two branches of control
flow.
* Remove the `'static` bound on `Unpark`
* Optimize `send_all` and `forward` to send as many items as possible
before calling `poll_complete`.
* Unify the return types of the `ok`, `err`, and `result` future to
assist returning different varieties in different branches of a function.
* Add `CpuFuture::forget` to allow the computation to continue running
after a drop.
* Add a `stream::futures_unordered` combinator to turn a list of futures
into a stream representing their order of completion.