Minor. Added test data sanity check.
Minor. More correct constants processing. If class without constants is added, it doesn't mean directly that others should be recompiled. Anyway, this mistake didn't lead to any bug: proto change would be detected anyway.
Minor. Expanded test.
Aborting compilation on errors (don't try to compile Java after it).
Initial support for kotlin-java interop in incremental compilation.
Tests with constants, incremental compilation between Kotlin and Java.
Replaced absolute paths with macro in compilation errors.
Tests with renamed method, incremental compilation between Kotlin and Java.
Supported incremental compilation tests when compilation fails in the end.
Tests: converting Java to Kotlin and back.
Added tests with adding method to superclass.
Tests with SAM conversions.
Added test with conflicting function overloads in different files.
Added tests with redeclaration. The behavior is correct (compilation error), while diagnostic message is not ideal.
Committed wrong behavior of Java+Kotlin incremental compilation (Java files recompiled twice).
Minor. Added test when compilation error is introduced and fixed in other package.
Improved output dir checking in KotlinBuilder.

Output dir for representative target is necessary only for JS part: moved there.
Extracted methods compiling to JS and JVM in KotlinBuilder.
Extracted functions which update incremental caches, etc
Extracted function which creates compiler environment.