Refactor: Introduce contexts in deserialization subsystem

Rewrite utilities to Kotlin and move them out of DescriptorDeserializer
Include DescriptorDeserializer into context
Use new context in injectors
Drop Deserializers abstraction
Minor: fix compilation warning
Minor: do not access static method of ScriptHeaderResolver through instance

Clean up after 024ed5a236e8a5a7350a52fecb6264395174fd1e
Rename: AnnotationDeserializer, ConstantDeserializer -> *Loader
Rename: DescriptorDeserializer -> MemberDeserializer
Add "kotlin.jvm" to default imports on JVM
Support transient, strictfp and synchronized flags

 #KT-4377 Fixed
Test for EA-41250 - E: _JetLexer.zzScanError - Could not match input
ScriptDescriptor exposes result property
Descriptors added to newField() signature
Descriptors added to newMethod() signature
Replace ClassBuilder.getVisitor().visitMethod() calls with newMethod()
Recording psi element and descriptor for which a class is being emitted
DiagnosticHolder added to GenerationState
Basic version of CONFLICTING_PLATFORM_DECLARATIONS diagnostic

 #KT-1 In Progress
Repoting platform declarations clashes in CLI compiler for JVM

 #KT-1 In Progress
Compilation fixed
Cache KotlinLightClassForPackage instances per project
Report clashing signatures in the IDE

Expose extra diagnostics about platform signature clashes from light class data

 #KT-1 In Progress
Diagnostic tests for duplicate JVM signatures