Refactor archive loading
Ark currently loads an archive by using Archive *Archive::create() first
and then ListJob *archive->list(). If an archive property is read
*before* list() is called, the archive is listed in the background with
listIfNotListed().
This design is responsible for a lot or problems (see T1877, T3296 and T330).
This commit refactors ListJob in a new LoadJob class. Is not possible
anymore to create an archive and then list() it. Instead, a LoadJob is
started first and then the archive can be retrieved at the end of the
job.
Differential Revision: D2811