Rationale described in T3296
Proposed fix: replacing Archive *Archive::create() with LoadJob *Archive::load().
LoadJob::archive() provides access to the loaded archive once the job (which internally uses ListJob) is done.
Proof-of-concept in branch refactor/archive-loading.