Smart completion: lambda item uses template to allow change parameter names
Smart completion: no fq-names in types
Fixed some tests
Minor code corrections after review
Renamed method
Fixed duplicated "Shorten FQ names" checkbox in live templates
Minor. Method replaced by a more convenient one from the same class
Minor. One utility method reused in the other
KotlinCacheManagerUtil uses lazy resolve
CCE fixed in SamAdapterOverridabilityCondition

isOverridable is called from resolved, and sometimes a constructor is its argument
Methods pulled up into the interface
Create consolidated caching service to provide all lazily resolved data

Other caches are to be removed later
++ Reuse session creation logic in KotlinResolveCache
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