GzipDecompress: Fixed usages of DataInput.readByte().
GzipDecompress: Refactored null-terminated string reading into its own function.
GzipDecompress: Simplified code.
GzipDecompress: Tightened scope of byte array variables, adjusted scopes of other variables.
GzipDecompress: Surrounded code with try-finallys, adjusted scope of variables.
GzipDecompress: Removed unhelpful comments and condensed code.
GzipDecompress: Reworked main logic to simplify and improve exception handling.
Decompressor: Fixed logic to throw FormatException instead of CodeTree's internal IllegalStateException when constructing a Huffman code tree from an invalid set of code lengths.
StringBitInputStream: Changed logic for readByte() to return -1 instead of throwing EOFException at end of stream.
DecompressorTest: Added a plethora of new test cases.
Decompressor: Added missing support for handling dynamic Huffman code with only one distance code of length 1 defined.
DecompressorTest: Added test cases, corrected comment.