Abstract Promise and defer so core code doesn't depend directly on
when/es6-shim/Promise.  Make Queue notify all waiting consumers when
ended.  Synthesize iterable wrapper for iterators.

Finish jsdoc for all public Stream methods. Fix Queue and defer, move
Subscribable to separate module for now until we find a proper home
for it. Add simple README