Treat missing repos as 0 bytes in dry-run quota check

Quota pre-flight checks must work before a project exists. Previously,
dryRun attempted to open the repository unconditionally and failed with
RepositoryNotFoundException, preventing clients from validating imports
or creations against the configured limit.

This change treats a non-existing repository as size 0 during dryRun.
We add a variant of getMaxPackSize that allows bypassing the repository
existence requirement and, when a RepositoryNotFoundException is the
root cause, assumes 0 bytes. The regular token request path continues to
require an existing repository.

Benefits:
- Dry-run checks succeed for projects that are not yet created.
- Quota evaluation still respects the configured maximum size.
- Non-dry-run requests and other exceptions retain existing behavior.

Bug: Issue 445614703
Change-Id: I12977e0628116e36cd1b9d9982b8da23eabb9f54
2 files changed