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
JS backend: fix translation for || and && (create new tmp variable if needed)
JS backend: fix TranslationUtils.isCacheNeeded
JS backend: test for KT-4225: Compiler to JavaScript produces semantically wrong code

This issue was fixed in build 0.8.541
Buildserver auto merge