We were computing the edits for the rename locations concurrently, which means that we were executing `languageServerType(of:)` concurrently, which could incur concurrent accesses to the `languageServerTypesCache` dictionary.
Introduce an actor `LanguageServerTypesCache` that manages the cache, eliminating the race.