Remove InjectorForJDR.getPsiClassFinder()

Replace its usages by getJavaClassFinder(). Remove code duplication in
AnalyzerFacadeForJVM/LazyResolveTestUtil
Remove PsiClassFinder

Inline the implementation into JavaClassFinderImpl
Get rid of dependency on BindingTrace
Move utilities out of OverrideResolver
Remove trivial dependencies of 'serialization' module
Create DefaultDescriptorFactory utility class

Will contain utilities needed to create different common descriptors, such as
default getters/setters, enum values/valueOf methods, etc.
Refactor OverridingUtil.resolveUnknownVisibilities

Get rid of dependency on BindingTrace, move the corresponding error reporting
logic to OverrideResolver
Refactor DescriptorUtils

Remove dependency on org.jetbrains.jet.lang.psi, move utilities closer to their
usages, add NotNull annotations, fix formatting, etc.
Remove PSI usages from ScriptDescriptor
Move caching logic from java class scope to descriptor
Create special classes for decompiled Java enums

Simplify logic in JavaConstructorResolver and JavaClassResolver
TODO .IDEA
Simplify JvmPrimitiveType, PrimitiveType

Delete utility methods from interfaces, move once-used methods to where they're
used
Move KotlinToJavaTypesMap, AsmTypeConstants to frontend.java

They're used only in compiler
Cleanup descriptors in frontend

Remove useless classes/interfaces, inline useless superclasses, make the code
greener
Move FunctionDescriptorUtil out of descriptors/
Extract LazyResolveStorageManager interface

StorageManager will be available at runtime, thus it can't depend on
BindingTrace