Adapt zip.js to allow adding files via addFile via asynchronous function calls. This is managed by an internal queue.
Add error handling for Stream usage/exceptions
Add utility function isStream: detects whether a Stream instance is present