KT-5214 Annotation to provide platform name to avoid signature conflict

#KT-5214 Fixed
Tests for annotation deserialization when platform names are used
KT-5219 Kotlin build fails when using Android Gradle plugin 0.11

  #KT-5219 Fixed
KT-5219 Kotlin build fails when using Android Gradle plugin 0.11

  #KT-5219 Fixed
Use JavaDescriptorResolver#resolveClass(JavaClass) in KotlinSignatureInJavaMarkerProvider
Use module to resolve "kotlin" package in DecompiledTextConsistencyTest
Drop JavaDescriptorResolver#getPackageFragment
Use module to resolve top level class in AbstractSdkAnnotationsValidityTest
Use module to resolve top level class in DecompiledTextConsistencyTest

Refactor: rename ResolverForDecompiler#resolveClass to resolveTopLevelClass to document assumptions made in implementations
Use module to resolve top level class in ResolveDescriptorsFromExternalLibraries
Use module to resolve top level class in SignatureMarkerProviderTest
Minor: Implement LazyJavaResolverContext.resolveTopLevelClassInModule using ModuleDescriptor.resolveTopLevelClass
Drop JetTypeName and related code
Parser: fix recovery for object literal with no body
 #KT-5102 Fixed
Introduced utility method.
Extracted PackagePartClassUtils.
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