Finish reimplementing descriptor reader
- Added a builder struct
DescriptorReaderOptions
to configure descriptor reading. - Reads a history file (if provided) to skip files already processed, based on modification timestamps.
- Tracks excluded and parsed files for reporting and optional saving.
- Handles .tar, .tar.bz2, and .tar.xz files.