Creates ZStream, providing compressed access to Stream. 
If an input stream is wrapped, it recognises a gzip or deflate header. 
If an output stream is wrapped, Options define the desired 
wrapper and compression level. The new ZStream inherits its
encoding from Stream. In other words, if Stream 
is a text-stream, so is ZStream. The original Stream 
is switched to binary mode while it is wrapped. The original encoding of
Stream is restored if ZStream is closed. Note that zopen/3 
does not actually process any data and therefore succeeds on input 
streams that do not contain valid data. Errors may be generated by read 
operations performed on the stream.
Defined options on output streams are:
- format(+Format)
- Either deflate(default),raw_deflateorgzip. 
Thedeflateenvelope is simple and short and is typically 
used for compressed (network) communication. Theraw_deflatedoes not include an envelope and is often used as a step in crypographic 
encodings. Thegzipenvelope is compatible to the gzip 
program and intended to read/write compressed files.
- level(+Level)
- Number between 0 and 9, specifying the compression level, Higher levels 
use more resources. Default is 6, generally believed to be a good 
compromise between speed, memory requirement and compression.
- multi_part(+Boolean)
- If true, restart reading if the input is not at 
end-of-file. The default istruefor gzip streams.
Generic options are:
- close_parent(Bool)
- If true(default), closing the compressed stream also 
closes (and thus invalidates) the wrapped stream. Iffalse, 
the wrapped stream is not closed. This can be used to 
read/write a compressed data block as partial input/output on a stream.