vcs: Parse .gitmodules instead of git submodule status output

git submodule status doesn't give us the submodule name, it gives us
only the path and url. We used to assume the path was also the name, but
it's not always the case.

Closes #19