To clarify what I mean, this would be something like:
* If not in a git repository, just use pypi
*  If the (to-be-added) argument `never_use_submodules` is True, still use pypi
* Otherwise, check if there's an appropriately-named submodule.  If so, try to update it
* Otherwise, create the submodule and update it

I think this is exactly what we'd want in astropy, right? (with `never_use_submodules` False).  I don't see why we wouldn't offer this to affiliated package devs, too?