Extract an archive

Unpack an archive and download the contents. Entries that try to escape the destination directory are refused, and extraction stops if the archive expands beyond a safe ratio.