cache git-dependencies
git-remotes: Refactor code out of one function

Also, this makes the exec util use the 'close' event instead of 'exit',
since we're assuming that the data is all out by that point.