+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
hm. We need to find a less costly alternative for this. Also it would be nice to create readers that are composable, for example framing = headerDecoder -> rawBlobDecoder(length). Not necessarily in this PR, just thinking aloud.