Maybe it would be better if we don't pass/store the handle to the `Submodule`. We could do a `git_submodule_lookup` with the name each time we want to access one of the properties, as we do in the `Commit` object (through the `GitObjectLazyGroup`)?

This would also allow to not keep a reference to the handle in the repository cleanup list.