Remove dependency of "descriptors" on Function/Condition/Processor
Remove dependency of "descriptors" on StringUtil
Remove dependency of "descriptors" on Lists

Also insert a sensible starting capacity almost everywhere
Remove dependency of "descriptors" on Maps/Sets
Remove dependency of "descriptors" on ImmutableSet
Remove dependency of "descriptors" on ContainerUtil
Remove TestOnly annotation from JetScope#printScopeStructure

Because this method is located in core/ which will be present at runtime, and
this annotation is not needed at runtime
Make "descriptors" not depend on intellij-core

Remove dependency on ProcessCanceledException with a hacky solution not to
break anything at the moment
a couple of inspections moved to idea-analysis module
kotlin-for-upsource sources
moved some components registration from registerProjectServices() to registerProjectServicesForCLI() since they don't work in Upsource
add resources and runtime libraries to idea-analysis
JS backend: fix dangling else issue in generated code for JsToStringGenerationVisitor
JS backend: move patternMatching tests to expression/when
JS backend: remove dangerous package, correct translation for call, assignments, binary operations, support try...catch as expression

 #KT-5576 Fixed
 #KT-5594 Fixed
 #KT-3166 Fixed
 #KT-5545 Fixed
 #KT-5594 Fixed
 #KT-5258 Fixed

JS backend: fix KT-5253: when with if inside

 #KT-5253 Fixed

JS backend: fix KT-4879: extra side effect when use when in default arguments

 #KT-4879 Fixed

JS backend: improve and fix WhenTranslator, fix order of evaluation for condtitions, fix KT-5263 (JS: extra tmp when initialize val in when by expression with if)

 #KT-5263 Fixed
JS backend: support for while/do while with complex conditions
JS backend: new tests for use break, continue and return in &&, ||, ?:
JS backend: for with label, fix KT-5257 JS: for with continue with label fails on runtime, and KT-5262 JS: wrong code for `for` over range when start greater end

 #KT-5257 Fixed
 #KT-5262 Fixed