pkg/tarheader: support hard links when building tar headers

This introduces an inode "cache" that can be used when populating a tar
header (pkg/tarheader.Populate), so that any inodes already seen can be
linked to instead of inserting an entire copy of the file into the tar.