Don't spam warning when file is empty

IDEA produces such files when class file had been removed from jar but indexes haven't been not fully reconstructed yet.
Make out-of-block test functional
Add file text to assert message
Take all responsibility for updating trackers, stop delegating it to Java-plugin code
Rewrite to kotlin: JetModifiableBlockHelper
Rewrite to Kotlin: rename file
Rewrite to Kotlin: JetCodeBlockModificationListener
Rename file: JetCodeBlockModificationListener -> KotlinCodeBlockModificationListener
Refactoring: move functions
Rewrite out-of-block modifier increment algorithm

    1. Search the top-level function or property (only they can produce blocks that won't affect other declarations)
    2. Check if current position is hidden by this declaration

    O^2 behaviour is removed
Temp workaround: force out-of-block modification for properties with nullable types

Initializers for properties with nullable types are analyzed with binding context common for all declarations.
This can cause invalid elements are left in the cache guarded with out-of-block  modification tracker. This workaround forces increment for such cases.
Check that removing open brace is out-of-block change
Add explicit type to prevent compile error