Pass multiple files in one ZIP archive to the output stream with minimum memory footprint