Move part of lazy element resolver structure to new module ide-lazy-resolve

This new module will be used from Eclipse, it should not have any idea
specific logic that is applicable only for idea
Added missed artifact entry for lazy resolve module
Fix IDEA plugin behavior with classes in library sources

In case when some class was contained in sources of some library (in addition
to classes of some library) we incorrectly assumed that its ModuleInfo is
LibrarySourceInfo of that library, because we checked if the file was in
library sources first. Now we check if the file is in library _classes_ first,
and then sources

 #KT-5695 Fixed
Resolve invoke on class objects and enum entries

Added FakeCallableDescriptorForObject to make a resolved call
with object as variable in 'variable as function call'

 #KT-4321 Fixed
 #KT-4863 Fixed
Launch ResolvedCallsTest with kotlin library
DelegationSpecifier resolve depends on expected type (supertype)
Removed ExpressionTypingContext.containingDeclaration
 it's always scope.getContainingDeclaration()
Introduced QualifierReceiver instead of PackageType
KT-5308 Wrong ExplicitReceiverKind when access to IntRange.EMPTY
 #KT-5308 Fixed
Removed accidentally committed 'setTextRanges' from Diagnostic
Rewrote DiagnosticRendererUtil to kotlin
Report 'nested class accessed via instance reference' error
Record reference to class object directly
not to containing class descriptor
Refactoring in PositionStrategies: added markRange(from, to)
Small improvements in error reporting
Position error on 'class A' or 'object A' instead of name identifier only
Resolve type of anonymous object in local object as local
Prohibit local objects and enum classes
  #KT-5402 Fixed
  #KT-4838 Fixed

Resolve type of object inside local object as special, not supertype('Any').
Changed visibility of constructor of anonymous object to 'internal' to be able to resolve the following:
fun box(): String {
    var foo = object {
        val bar = object {
            val baz = "ok"
        }
    }
    return foo.bar.baz
}
The containing declaration of property initializers is constructor, so 'baz' was invisible inside private constructor.
Render name of class object as 'class object of MyClass'
Fixed NPE in ArgumentMatchImpl.getStatus
Check value arguments if there is wrong number of type arguments