[VersionControl] Cleanup ChangeSet.
[VersionControl] Try optimizing ClearCachedInfo.

FilePath.IsChildPathOf will check whether the basePath (in our case rootPath) has a trailing directory separator. Doing a CanonicalPath change would've ensured not having one.
Let's leave it to what it is so we don't risk creating a lot of new strings.