use utils/submodule in setup.py...
use utils/submodule in setup.py
`setup.py anything` will halt with an informative error
if the submodules are unclean.
It will fetch the submodules if they are entirely absent.
Nothing will happen if it is not a git repo.