Modify import/export to read from / write to a tarball

Prior to this commit, the import/export tools were reading from
and writing to a bunch of files in a directory.  This commit
adds a new `archive` namespace, with utility functions for reading
from and writing to tarballs, and ports the import/export tools
over to use the functions therein.  This means we are now importing/
exporting directly to a tarball.