Supported multi-module incremental compilation tests.
Minor. Clearer logic.
Fixed redeclaration from incremental compilation. Added workaround for JPS bug.
Supported methods with default arguments in partial package compilation.
Added check for duplicate source paths in all compiler workflows.
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
JS backend: add NotNull annotations
JS backend: add LoopTranslator.kt, move ExpressionVisitor.createWhile and ForTranslator into LoopTranslart, remove foreach package
JS backend: refactor LoopTranslator, add function translateForExpression
~~~ fixes after review: LoopTranslator.kt
fix KT-5645: 'continue' inside 'do...while' statement works as goto to the beginning of the loop (not checking loop condition)

 #KT-5645 Fixes
~~~ fixes after review: add leftJetExpression and rightJetExpression fields into BinaryOperationTranslator
JS backend: do not generate extra tmp vars
~~~ refactor CallArgumentTranslator
~~~ refactor BinaryOperationTranslator
~~~ keep blocks for if statement during translation
~~~ fixes after review: create JsEmptyExpression class, move isEmptyExpression to JsAstUtils
~~~ fixes after review: improve tests
~~~ do not generate unreachable code for loops and when in some cases
fix wrong unreachable code detected for while(break){}