Delay refreshing git submodule until we have a clone
Description
This should fix fallback download from mirrors when upstream is not available.
The way to fix it is to use a generator of fetchers rather than a list. Submodule fetchers are generated only one the main repository has been fetched.
There are also tests picked from !618 (closed)
This merge request, when approved, will close issue/bug: #537 (closed)
Edited by Valentin David