Using a enum for console logging which prints to std err in color on
supported terminals.  Other minor fixes, e.g. support for gzip,
documentation updates, cleanup.