Cleanup module dependencies: a lot of modules depended on 'frontend.java' just
to use something from 'util' module, exported by 'frontend.java', whereas they
really need nothing from 'frontend.java'. Also 'frontend.java' just exported
'util', not using anything from it.
Create a new 'util.runtime' module, which will be available at runtime. Make
'util' export 'util.runtime' and make all modules who needed these utils depend
on 'util' directly instead of 'frontend.java'
This is done because byte arrays in annotation arguments cannot be longer than
65535 bytes, and serialized data's length for kotlin.KotlinPackage class from
stdlib is already close to this number
Major changes: ASM is switched from vanilla 3.3 to a 4.0 with renamed packages,
because this is done inside IDEA and we depend on that transitively.
Thus the jarjar renaming in build.xml, old library binaries deleted.
Also we now depend on exact IDEA build (EAP), not "last successful".