Add an iterator type for reading archives.

This allows you to scan through an archive and not have to read the data
for every entry like the extractNext methods did
Remove extractNext
Replace the disk version of extractNext
Add rest of file type enum