[mdoc-update] Filename comparison should be OrdinalIgnoreCase.
Consider the intermix of a case-sensitive language (C#) and a
case-insensitive filesystem (OSX, Windows):
namespace A {
public class Foo {}
}
namespace a {
public class Bar {}
}
On a case-sensitive filesystem, this will generate the structure:
en/A/Foo.xml
en/a/Bar.xml
On a case-insensitive filesystem, we instead get:
en/A/Foo.xml
en/A/Bar.xml
The problem with this is that CleanupFiles() uses filenames to index
into the `goodfiles` HashSet<string>`, and the filenames will contain
e.g. "en/A/Bar.xml" for a.Bar, which won't exist in the HashSet, so it
thus thinks the type doesn't exist and removes the file.
This is obviously bad, but the fix is trivial: `goodfiles` should use
an OrdinalIgnoreCase string comparison, as this is what the filesystem
will be using on OS X and Windows.