It makes me a little nervous to not use an error parameter here. I know that we should be safe based on the "expected" error cases of `git_submodule_lookup` (which this calls) since we're doing it in response to `git_submodule_foreach`, but we could still hit an unexpected error. Also, something could change the disk state between the foreach and the lookup.

I think there are a few options for error handling:

1. Simply log out any errors
2. Don't call the block if we hit an error case.
3. Document that `-[GTRepository enumerateSubmodulesRecursively:usingBlock:]` may pass a nil submodule if it hits an error.
4. Change the block to take an error parameter and pass that in as well