Make --list-holes failed assertion delay aborting

I've just hit this and need more info...
rs5 corrupting bug fix - clear hole cache when truncating archive

There was a situation where we could hit a bug where we remembered a
hole being past the EOF after the archive has been truncated,
potentially allowing large data written to the EOF being overwritten by
smaller data filling up the no longer existing "hole". This sequence
could hit it:

./rs5-extractor.py -f main-modded.rs5 --revert
./rs5-extractor.py -f main-modded.rs5 --add-mod french.rs5mod communitypatch.rs5mod
./rs5-extractor.py -f main-modded.rs5 --set-mod-order communitypatch french
./rs5-extractor.py -f main-modded.rs5 --add-mod french.rs5mod communitypatch.rs5mod
./rs5-extractor.py -f main-modded.rs5 --list-holes

I believe this is what was happening - say the layout looks like this:

base files
mod files
manifest
central directory

Then the mod is removed, it might look like this:

base files
central directory
hole
location of the central directory when the holes were cached

Then we truncate the file:

base files
central directory
EOF
non-existent hole

Then we write some large data:

base files
hole
previous EOF
mod files too large to fit in a hole written to EOF

...and some small data, perhaps the mod manifest:

base files
hole
previous EOF
mod files | mod manifest written to non-existent hole

...and we've just corrupted the archive - oops!

Clear the hole cache whenever we truncate the file to avoid this
situation from happening.