fetch/pull: recurse into submodules when necessary