Taking a cue from RomVault and GordonJ, I'm including the Zlib code as converted by DotNetZip as well as creating a couple slightly more maleable structures for writing archives.
Since the original OutputFormat doesn't exist anymore, adding "Flag" to the var name isn't necessary