Add cancellation support to ByteSource constructors

ByteSources built from streams and channels now also support closing the
stream/channel when canceled.
Fix: CancelToken.none will discard mapped continuations

To avoid OOM.