Use ZipFile object as a context manager to ensure it gets closed
Only remove downloaded file on error when it actually exists