Refactoring: extracted 'reportUnreachableCode'
Rename: getAllInstructions -> getInstructionsIncludingDeadCode
Added this method to 'Pseudocode' interface instead of 'getDeadInstructions',
added 'isDead' to 'Instruction' interface
Highlight all text ranges for diagnostics in tests
Mark some expressions after processing their components
 when it's semantically correct

Expressions: calls, 'for' loops, elvis operators
It's significant for reporting 'unreachable code' correctly
Evaluate default value for argument non-deterministically
 in pseudocode
Mark only unreachable parts of element if it has reachable parts
 like for 'return todo()' mark only 'return'
KT-2334 An error 'local function without body' is not reported
 #KT-2334 Fixed
KT-5155 Auto-casts do not work with when
 #KT-5155 Fixed
KT-5200 Mark unreachable code in lambdas
 #KT-5200 Fixed
Extracted 'generateBooleanOperation'
Generate magic instruction for '&&, ||' in condition as well
Removed CFPContext
 flag 'inCondition' became unused
Buildserver auto merge