initial implementation of Cache.put_tree() using tarfile