Fixed|libdeng2|ArchiveFeed: Handling corrupt source data

Even if the source archive was invalid and caused an exception when
reading, the feed was still added to the source file's deletion
audience. However, the exception caused the ArchiveFeed constructor
to be automatically undone, leaving an invalid pointer in the source
file's audience.
libdeng2|FS: Reinterpreting files

Added File::reinterpret() and a test for it in test_archive.

This allows taking an ordinary file or an already interpreted file
and reinterpreting it just like a feed would do at the time when
the file was originally created.