fetch
Downloads the pack if needed and verifies it. Suspends until Ready, Failed, WaitingForWifi or NeedsPlayConfirmation, and returns a state rather than throwing. Callers fetching the same pack at once share one store request; the download is cancelled when every caller has been cancelled.