> Nitpick: Two submodules from two different repos, bearing the same name, shouldn't be considered as equal, should they?

I suppose not, but I'm not entirely convinced it matters. Can we just document somewhere that "interaction between objects created from different `Repository` instances could yield unexpected results"?

Another "identity crisis" repro:
```csharp
using (var repo = Repository.Init(BuildSelfCleaningDirectory().DirectoryPath, true))
using (var repo2 = Repository.Init(BuildSelfCleaningDirectory().DirectoryPath, true))
{
    Assert.NotNull(repo.Head);
    Assert.Equal(repo.Head, repo2.Head);
}
```