Make APKINDEX downloads returning 404 non-fatal
Do not fail when an APKINDEX can not be downloaded, print a WARNING instead. This matches, what apk does. Add a new allow_404 parameter to pmb.helpers.http.download(), and use it in pmb.helpers.repo.update() for downloading APKINDEX files. Cache the APKINDEX URLs that gave a 404 for the session, so we do not attempt to download these again.
This is needed for the new binary repository: the initial build is done without existing APKINDEX files, so we must not fail in that case.
Also did some refactoring and cosmetic fixes, see the other commit messages.