Quick Fixes: Support "WITH_RUNTIME" directive in multi-file quick fix tests
Sort list of declarations suggested for auto-import by proximity
 #KT-2050 Fixed
Refactor: drop redundant abstractions in IdeaModuleInfoTest
Split ModuleSourceInfo into ModuleProductionSourceInfo and ModuleTestSourceInfo
Introduce ModuleDescriptor#isFriend(ModuleDescriptor)

Use it to allow friend modules to see internal members
Make test source module a friend of production source module
Use different scope in completion/autoimport if element is in production source root
Debugger tests: do not print line numbers in stdlib
Minor, tests: rename test directive in debugger tests
Minor, fix warnings in KotlinClassFileIndex
Fix obscure typo in isEqual() in KotlinClassFileIndex
Include additional IDE modules to "IDE" scope

- include modules "idea-analysis" and "ide-lazy-resolve"
- exclude all files starting from "idea" such as idea.properties, ideaSDK etc.
Delete "idea.properties"

Apparently it was committed by mistake and never used since then
Assert that reference annotation argument is always an enum value

Rename JavaReferenceAnnotationArgument on that occasion to
JavaEnumValueAnnotationArgument. Also add a test on a nested enum annotation
argument
Rewrite JavaAnnotationArgument interfaces and implementations to Kotlin
Unextend JavaAnnotationArgumentImpl from JavaElementImpl

Is needed to decouple annotation argument implementations from PSI and reuse
them in Kotlin annotation deserialization
Add KotlinClassFinder#findKotlinClass(ClassId)

Will be used to load nested classes correctly at runtime
Minor, delete unneeded underscores from parameter names
Straighten out MemberIndex calculation in LazyJavaStaticScope

Also delete confusing "inn" function
Make JavaClassFinder accept ClassId rather than FqName

ClassId has more information about the name which will be very useful when
implementing JavaClassFinder in reflection