Store connection between files and lazy package fragment descriptor

LazyPackageDescriptor objects are going to be used as input for light class
generation. Java code generator expects to find connection between descriptors
and files in binding context.
Using lazy resolve when building light classes
Force-resolve only relevant declarations
Forced resolution of all contents enhanced
Force resolve descriptor type
When building light classes don't resolve irrelevant declarations in the same package
Refactoring: remove LightClassStubWithData, use generics for KotlinJavaFileStubProvider
Refactoring: Simplify subclass graph
Refactoring: method rename
-- Very temp - filter for class generation
Add cache delegating to lazy resolve session for source classes search
Search classes by qualified name only in sources to prevent recursion
Single injector for lazy resolve with java lazy resolve
Test that lazy resolve is able to do propagation in Kotlin-Java-Kotlin hierarchy

Patch by Evgeny Gerashchenko
Refactoring: inline KotlinLightClassContextCache behaviour
Remove eager resolve for getting light class context
Refactoring: remove monitoring method
Fix warning and don't fall if class isn't found in binding context after resolve
-- Temp code for error resolve
-- Remove warning