Pull in our first external library
Add configurable compression types
Implement tar.gz support
Implement tar.bz2 support

Closes #5
Make default on non-windows system tar.gzip

The bzip algorithm seems to be far, far slower, almost to the point of
being ridiculous. Still leaving it as an option since it's a dozen
lines of code and options are always nice.
Minor refactor to get the now-large compression library into it's own package