Refactor some common compression/decompression tasks into Util.
Add O(ln N) probability model, based on Fenwick trees.
Use # of previous matches/literals as part of match length context.

This idea borrowed from LZMA, via
http://cbloomrants.blogspot.com/2010/08/08-20-10-deobfuscating-lzma.html
Implement simpler LogDistanceModel, which outperforms the DeflateDistanceModel.

Doing things "the gzip way" turns out not to be so great for LZP3.
Switch Lzp3 to use FenwickModel.
Scale increment in MTFModel and FenwickModel.

This maintains more accuracy in probabilities (especially when max_prob is
small for fast adaptation), and ensures that infrequently-used symbols don't
escape quite as quickly.
Rename package from 'dmcjs' to 'compressjs'.

There's a lot more code in here than just DMC compression -- and the
DMC compression doesn't work particularly well in any case...