Convert AnalyzeExhaust to Kotlin and make it a data class
Use KotlinCacheService directly in IDELightClassGenerationSupport
Converter: use ide resolve through a dedicated interface

Eliminate direct usages of ResolveSession
Fix getModuleInfo for elements in code fragments
Introduce ResolutionFacade to be used by plugin code instead of resolve session

Do not expose ResolveSessionForBodies where possible
Define API of ResolutionFacade, similar to what ResolveSessionForBodies has
JetElement#getLazyResolveSession returns ResolutionFacade
Call sites to be updated later
Minor: move resolution utilities to a separate file
Refactor: Introduce JetDeclaration#resolveToDescriptor utility
Refactor: Introduce JetElement#resolveToElement utility
Refactor: Introduce DeclarationDescriptor#module utility
Refactor: Introduce JetElement#getModuleDescriptorForElement()
Rename: AnalyzeExhaust -> AnalysisResult
Minor: reorder functions
Rename: resolveToElement() -> analyze
Rename: getModuleDescriptorForElement -> findModuleDescriptor
Refactor: Introduce JetElement#analyzeAndGetResult() utility
Rename: JetElement#getBindingContext() -> analyzeFully
Rename: JetElement#getAnalysisResults() -> analyzeFullyAndGetResult
Minor: Inline the only usage of getAnalysisResultsForElements()
Rename: JetElement#getLazyResolveSession() -> getResolutionFacade

Rename local variables and fields of type ResolutionFacade
Add analyzeFullyAndGetResult to ResolutionFacade