Minor in JS backend: added missed test case -- `when` inside `when` w/o braces.
JavaDescriptorFinder#getClassNames() returns empty list

All classes are included in JavaPackageFragmentScopeForJavaPackageFragment  anyway
Deserializer: use module to search for dependencies in TypeDeserializer
Resolve classes in Deserialization locally

Temporary hacky solution
Fix DeserializerForDecompiler: create package fragment provider for missing dependencies
Use module to resolve annotation classes in AnnotationDescriptorLoader
Drop DependencyClassByQualifiedNameResolver and implementation
Drop DescriptorFinder.EMPTY
Refactor: Extract deserialize class to context
Move caching of deserialized classes to new component ClassDeserializer

Drop AbstractDescriptorFinder
Refactor: DescriptorFinder -> ClassDataFinder

Deserialization subsystem only need to know about the way to obtain class data, it can construct descriptors itself (no need to call DeserializedClassDescriptor constructor from other modules)
Drop ClassDataFinder#getClassNames()
Remove hack in JavaClassDataFinder
Avoid recomputing ClassData in DeserializedDescriptorResolver