+htp #16516 rewrite Deflate/GzipDecompressor as StatefulStage to defuse zip bomb

The GzipDecompressor now looks quite nice, very similar to the one before, but it was quite a ride to get there... Thanks to quite a good test coverage I'm somewhat confident it's now correct.

/cc @sirthias
I meant the throw, reparse is dependent on what do we parse. The asynchronous upstream assumption is not true in general, we might fuse these steps to be part of a larger synchronous pipeline.