Introduce propertyDelegated method in delegates
Minor, extracted generateLoopBody
Generate substatements as statements too

Preventing pushing on stack redundant Unit instances

 #KT-5667 fixed
Generate blocks-statements through CodegenStatementVisitor
Changed generating logic for named functions

Generate it as a sequence of statements when it's possible
Added automatic backup for debugging incremental compilation.
Fix: not loading ancestor packages from incremental cache.
Fixed opening file and not closing it.

This led to impossibility to delete file during incremental compilation.
Fixed clearing incremental cache for removed source files.

For writing system-dependent paths were used, for deleting were system-independent. That's why cache was not cleared on Windows.
Minor. Clarified "compiled file" as "file to compile".
Test for obsolete kt5307
Clean Dom and Dom tests.
Cleanup test helpers.
Cleanup Serializable test
Rename Serializable test file
Cleanup concurrent
Merge pull request #515 from dmekhanikov/master

Introduce propertyDelegated method in delegates
Minor improvements to inline tests
Use '$' instead of '-' in package part class names

Otherwise some tools break (e.g. CheckMethodAdapter in ASM, used in generic
signature writer) because they expect class names to be Java identifiers.

Some tests fixed, some will be fixed in future commits
Store FqName in LightClassDataForKotlinClass rather than a String

It was also mistakenly named "jvmInternalName" while in fact it was holding the
result of Type#getClassName() which is not an internal name