Fix bug in Zone 66 decompressor and limit output file size

Some files were missing their final few bytes, and others were padded with
junk.  Now all the bytes are flushed and the output is limited to the size
given in the compressed file's header.