`nimble install --retry:N` for network commands that can fail
testament uses: `discard tryCommand("nimble install --depsOnly -y", maxRetries = 3)` (which calls `retryCall`) so that it retries on error, but that's not satisfying because only networkd commands should be retried.
IMO this should be done by nimble via a `-retry:N` flag that would apply the retry logic with exponential backoff

This can be done in multiple ways, eg:
```nim
# inside nimble:
from std/private/gitutils import retryCall
```
(refs https://github.com/nim-lang/Nim/pull/16856)

## example
* `getTagsListRemote` often flakes with for eg:
```
  PASS: nimfp c                                                      (14.34 sec)
  FAIL: nimgen c
  Test "nimgen" in category "nimble-packages-2"
  Failure: reInstallFailed
  nimble install --depsOnly -y
    Verifying dependencies for nimgen@0.5.2
        Info: Dependency on c2nim@>= 0.9.14 already satisfied
    Verifying dependencies for c2nim@0.9.14
   Installing regex@>= 0.12.0
  Downloading nitely/nim-regex using git
  download.nim(93)         getTagsListRemote
  Error: unhandled exception: Unable to query remote tags for nitely/nim-regex. Git returned: fatal: unable to access 'nitely/nim-regex': Could not resolve host: github.com
   [OSError]
```