Minor. Method replaced by a more convenient one from the same class
Minor. One utility method reused in the other
KotlinCacheManagerUtil uses lazy resolve
Methods pulled up into the interface
Create consolidated caching service to provide all lazily resolved data

Other caches are to be removed later
Eager methods removed from AnalyzerFacade
AnalyzerFacade.Setup introduced
JavaDescriptorResolver is cached by KotlinResolveCache

Accessible via JavaResolveExtension
KotlinCacheManagerUtil usages replaced by lazy resolve
getDeclarationsFromProject() is replaced by lazy resolve
AnalyzerFacadeWithCache.analyzeFileWithCache() is inlined
AnalyzerFacadeWithCache simply redirects to KotlinCacheService now
KotlinCacheManager removed in favor of KotlinCacheService
AnalyzerFacadeWithCache.getLazyResolveSessionForFile() inlined
JvmResolveUtil extracted for methods that are used only for tests
Got rid of unneeded caching in KotlinCacheService
Unneeded synchronization removed
Synchronization logic extracted into a method
More granular locks in KotlinResolveCache
Unused method removed