Fix for KT-6312: Compiler crashes accessing inherited property of class object

    #KT-6312 Fixed
Add ability to create memoized functions with custom maps

 - Remove cast in ResolveSession class
Rewrite to Kotlin: LockBasedLazyResolveStorageManager
Rewrite to Kotlin: LockBasedLazyResolveStorageManager
Replace direct usages of TopDownLazyResolveForJava with facade
LTDA: Enable lazy analyze by default (broken)
LTDA: Compare constructed descriptors only with test files
LTDA: Injector with lazy TDA for JVM target (broken)

 - REPL is broken
 - Tests for Kotlin - Java - Kotlin hierarchy may fail
LTDA: Initialize built-ins reference resolver with lazy tda
LTDA: Fix REPL and make it work with lazy resolve
LTDA: Injector with Lazy TDA for JS target
LTDA: Add hack with requesting absent values in shared context from lazy resolve session
LTDA: Initialize project components with resolve session after injector construction is finished
LTDA: Fix resolveToElement() for script files
LTDA: Enable lazy resolve globally
LTDA: Test problem - skip LazyEntity in search for closest interface
LTDA: Sort applicable candidates in ide errors
LTDA: Test for conflict in order of resolve and light classes build
Stable order for diagnostics in test
Add test about platform static checks in ide