LOG.error() instead of exception for "Rewrite at slice" errors
Minor: improve assertion message in SpecifyTypeExplicitlyFix
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
(DON'T COMMIT) Split ant 'runtime' target to 'runtime.jvm' and 'stdlib'
Make protected static visibility reach members in the same package
Support :: references to properties in frontend

 #KT-1183 In Progress
Introduce KClass, KPackage and their JVM implementations
Generate "kotlinClass"/"kotlinPackage" reflection fields to every class

Some seemingly irrelevant tests were changed because now there's <clinit> in
almost every class and class initialization begins with executing it
Delete unjustified assert

It's ok to generate <clinit> in the light classes mode, it's not ok to generate
the code in it (if only there was a sane way to assert that)