Switch Optimization
SwitchOptimization: generating `lookupswitch' opcode for 'when' in case of integral types
Switch in when-expression: choice between lookupswitch and table switch (heuristically)
Tests for switchOptimization: shuffled and added sparse version
Refactored tests for switch optimization of When expression
Optimizations of When expression with int constants: pull request review fixes
Optimizations of When expression with int constants: heuristics from openJDK for decision about using tableswitch/lookupswitch
Optimizations of When expression with int constants:
Added test with dense constants (tableswitch should be used)
New Intention Action: Replace a call to forEach function with for loop.

Replaces an expression of form x.forEach { … } with for (a in x) { … }.
New Intention: Replace for loop with forEach

Replaces an expression of the form “for (i in list) { … }” with an
expression of the form “list.forEach { i -> … }”