Remove external packages search from file base declaration provider

External package should be found because of proper module configuration
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
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
Add ability to filter out some particular classes from generator
Rewrite utils method for qualified names to Kotlin
Add cache delegating to lazy resolve session for source classes search
Refactoring: remove unused methods
Search classes by qualified name only in sources to prevent recursion
Common injector for lazy resolve with java lazy resolve
Force resolve descriptor type
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