Add GoogleTest and bit encoder modifications

This change adds GoogleTest as a third party project, and also modifies
the RLE encoder to take a max value instead of requiring the caller to
precalculate the bit width, which makes for a simpler API.  Also start
of encoding repetition levels during flush, although they aren't output
yet.