Add support for streamed Zip files with data headers
Detail: This version of the Zip module understands 'data descriptors', which are used when a Zip is streamed on the fly (or on media where seeking is not possible) and so the compressed size/decompressed size/CRC32 is not known at the time the local file header is written. That information is appended as a data header and also placed in the central directory. Admin: Sample stream_nosig.zip contains 2 files, 'testtext.txt' which was streamed through deflate and 'ZeroLen' which is stored and also has RISC OS filetype Obey set in its extra fields. Sample stream_sig.zip is the same, but its data headers use the 008074b50 signature as well.