adm-zip.js: Add writeZipAsync

... which is not 100% async, but compressing the buffer and
writing it to disk is so the large parts of the function
are not async.