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
Compute pseudo value for parameter correctly:
 do not throw away pseudo value for default value
Eval4j: initialize frame with local  variables values using type size
 #KT-5133 Fixed
Evaluate expression: test with doubles
Fix typo
Evaluate expression: move helper methods for extract function to separate file
Refactoring: extract method
Correct context element for watches
Minor: fix warnings
DescriptorUtils.isSubclass: check type constructors for equality instead of checking descriptors