Add isCompiled property to JetFile
KotlinClassFileHeader now saves JvmClassName for processed class

Add utility methods
Refactor static method to member methods
Introduce DecompiledUtils
Create KotlinClassFileIndex
Introduce VirtualFileFinder interface

Provide different implementations in Cli and Ide
FileViewProviderFactory and JetClsStubBuilderFactory
DIRTY: VirtualFileFinder in JavaClassResolver

HACK: determine whether fqname is a name for class contained in class or namespace based on virtual file name
DIRTY: VirtualFileFinder in JavaNamespaceResolver
DIRTY: VirtualFileFinder in AnnotationDescriptorDeserializer
Use stubs in getParent for stubbed psi
Provide sources of depedency in AbstractJavaWithLibCompletionTest

Test compiles dependency before running
Remove usages of JetFile#getNamespaceHeader where getFqName is meant
Improve test that checks filtering for already imported package
Introduce TopLevelDeclarationIndexUtils, simplify code for completion and autoimports of top level functions and extension functions

Move and inline unrelated utilities in JetShortNamesCache
Stubs for top level object declarations, simplify completion
Change AbstractJavaWithLibCompletionTest so that it doesn't invoke compilation if dependency jar is already present
Rename directories containing dependency sources from *Sources to *Src
Do not try to adapt java completion as kotlin completion

Test that checks kotlin completion for java classes from libraries
Rename short name indices
Introduce JetFqNamedDeclaration, use it instead of JetNamedDeclaration where appropriate

Remove most of the usages of JetPsiUtil#getFqName(JetNamedDeclaration)
Use stubs to provide fqNames for Psi