JS lib: simplify DefaultPrimitiveHashSet.
JS lib: provide Kotlin object as parameter of IIFE.
Minor: added regression tests for KT-4235

#KT-4235 Obsolete
Minor: added regression tests for downTo.

Adopted tests from patch attached to KT-2586.
Update to EAP 139.144.2
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
More tests for out-of-block-modifiaction tracker
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.
Don't increment out-of-block when changes done in block
-- Strange bug in kt file