Add ArchiveFile abstraction for file-based archives
#709
+323
−61
ArchiveFile abstraction for file-based archives
#709