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
KT-2303 Support loading private class members from bytecode

 #KT-2303 obsolete
Added test for KT-2381 Can't resolve references to fields inherited from Java class when used Kotlin class is loaded from bytecode

 #KT-2381 obsolete
KT-5087 Private members of Java classes should be marked as invisible, not unresolved

 #KT-5087 fixed
KT-5244 Crash from Kotlin JPS plugin when creating module script

 #KT-5244 fixed
Fix range inclusivity in String.indices
Delete outdated directory creation in build.xml
Add *Range.isEmpty(), *Progression.isEmpty()
Fix equals and hashCode for empty ranges and progressions

Empty range is equal to any other empty range
Use f/L literal suffixes instead of toFloat()/toLong()
JS backend: fix translation `when` statement -- now WhenTranslator returns JsBlock instead of hackish adding statements to context block.

It fixed the compiler crashing when translating `for`/`when`/`if` with `when` statement(KT-5234) and KT-5058.

 #KT-5234 fixed
 #EA-57346 fixed
 #KT-5058 fixed
Loading descriptors from incremental cache instead of package classes.
Removed member filter from injectors.