Bug fix for Bzip2 decompressor when 20-bit codes present in huffman encoding.

The modern bzip2 compressor never generates huffman codes longer than
17 bits, but the older compressor uses codes up to 20 bits long.  This
bug was inherited from the node-bzip JavaScript port of micro-bzip. It
was harmless there, because it used untyped arrays so they were silently
extended as needed.
Implement bzip2 compression.

The selection of huffman encoding tables is a bit simplistic; we also
emit huffman codes up to 20 bits.  While the bzip2 decoder will decode these,
the modern bzip2 encoder only emits codes up to 17 bits long.