During all this I uncovered a bug in how Archive::Tar handles sparse
files stored in tarballs; the library reports the file as having no
contents and a size of 0. As a result, in the freed-bytes-commas test,
the tarball extraction has been replaced by on-the-fly file creation.
Make sure to print when a control character is present. If it doesn't,
it leads to confusion when bash reports two apparently-equal strings
don't actually match due to the presence of a non-printing character.
Breaking changes:
* Remove support for symlink generation.
Bugs fixed:
* SHA-1 hash collisions no longer corrupt yer data.
Internal changes:
* Rework into a helper package