archive: use util.opener when archiving files.
This simplifies the code a bit and makes it easier to support symlinks.
Is there an error message when trying to diff non-existing files?
found: No such file or directory
not: No such file or directory
Is there an error message when trying to add non-existing files?
found: No such file or directory
not: No such file or directory