+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
Yes, good suggestion. I started with the DeflateCompressor and liked the `StatefulStage.emit(Iterator)` support but it doesn't add much over a dedicated state. Updated.