Minor: use directive with current ABI version in test data
Minor: fix always null warning
Automatically enable Kotlin plugin if it was disabled
Remove synchronous VFS refresh to avoid deadlocks (KT-4584)

 #KT-4584 Fixed
Show uninitialized descriptor's name in DeclarationDescriptor.toString()
Remove PSI in TraceBasedExternalSignatureResolver, AlternativeFieldSignatureData, AlternativeMethodSignatureData
Drop getExternal method from JavaSignatureFormatter
Move method createArrayType to JavaType and drop JavaElementFactory
Remove acces to JavaPropertyInitializerEvaluator through ServiceLoader by injecting it in GenerateInjectors
Implement formatMethod in JavaSignatureFormatter without PSI
Simplify codegen for trait methods with implementations

- use existing framework (FunctionCodegen.generateMethod) which will take care
  of all subtleties of method generation (bridges, annotations, thrown
  exceptions, etc)
- call to "generateThisOrOuter" was not needed, since when we're generating
  delegation to TImpl, "this" is always "ALOAD 0"
Minor, move and rename getExceptions

Should only be used in FunctionCodegen from now on, because every method
generation should go through FunctionCodegen
Refactor bridges algorithm in codegen

- fix a typo (which apparently didn't matter)
- queue now always contains originals, no need to invoke getOriginal()
- no need to add current descriptor's original anymore, this was a hack working
  around a problem with trait-impl which was fixed by another change
- a small optimization: don't do anything for constructors
Generate bridges for fake overrides when needed

 #KT-3985 Fixed
 #KT-4145 Fixed
Consider all real functions, not only declarations in bridge codegen

There should be bridges to all of the functions present in bytecode
Rewrite bridge generation to Kotlin, make it abstract