fix #6: Temp directory not cleaned up

File::Temp objects automatically clean up after themselves, but
we destroyed the File::Temp object too early. Later, Archive::Zip
would create a new temporary directory with the same name, and
this new directory would not be cleaned up automatically.

Now, we keep the File::Temp object around so that when we are
destroyed, the File::Temp object gets destroyed, and the temporary
directory gets removed.