Do not skip top level members from sources under library classes root

Fix problems with JavaScript libraries
Minor, fix "J2K Tests" run configuration
Minor, add codegen test on extension to nested class
Minor, add test for obsolete issue

 #KT-4021 Obsolete
Introduce ClassDescriptor#getStaticScope()

Will be used to exterminate hacks related to static Java methods in our
codebase: synthetic class object for enum, synthetic package for static members
of Java classes, etc.
Rewrite Java resolve to use static class scope instead of synthesized packages

 #KT-4149 Fixed
 #KT-4839 Fixed
Drop outdated code in JDR related to static class members
Minor, fix warnings and formatting in QualifiedExpressionResolver
Support static class scope in frontend, JVM codegen and IDE
Fix incorrect test data for wrong KotlinSignature CLI test

Classes from the root package cannot be referenced from a non-root package
Drop enum class object hack

Place valueOf() and values() into the static scope of the corresponding enum
class

 #KT-5580 Fixed
 #KT-2410 Fixed
Refine getClassObjectDescriptor()'s type

This reverts commit db3e5ed6789e9e9b285fa006b984f1fe0e0c3553.
Minor, reuse existing method
JS: update support of enum's values() and valueOf()
Remove duplicate code from JvmCodegenUtil
Drop JavaPackageFragmentProvider
Drop LazyJavaDescriptor, JavaPackageFragmentDescriptor
Extract "values" and "valueOf" names as static constants
Resolve "values" and "valueOf" in enum class object

Import enum class's static scope into its class object's member scope
Refactor QualifiedExpressionResolver

- fix return types everywhere: Collection<DeclarationDescriptor> instead of
  Collection<? extends DeclarationDescriptor>
- delete useless LookupResult.EMPTY and merge LookupResult with
  SuccessfulLookupResult
- reformat, minor inlines, etc.