Add JetMultiDeclarationReference

A reference to component* functions
Rewrite optimize imports using JetReference#resolveToDescriptors

 #KT-4451 Fixed
Move, rewrite and rename JetImportOptimizer

Rewrite it to Kotlin and rename to KotlinImportOptimizer, move to imports package
Create ImportsUtils.kt
Optimize Imports tests: Switch to generated approach

Move test and rename test data
Delete unused testdata
Rewrite OptimizeImportOnFlyTest
Optimize Imports: do not keep imports of unimportable entities
Optimize Imports: simplify code
Update to IDEA 134.1445 EAP
Optimize Imports tests: add test for qualified expression with nested enum
Configuration for Android Studio debug created
KT-4562 New Intention: Add and Remove braces from control statements that have single line bodies
Move DebugProtoBuf to module "compiler-tests"

To help debug serialization-related code in compiler tests
Minor fix in tests for sources appearing in libraries
Minor, add toString() to OutputFile for debugging
Write KotlinSyntheticClass to generated classes for functions

That is SAM wrappers, callable reference wrappers, local functions and
anonymous functions
Write KotlinSyntheticClass to anonymous and local classes
Add tests that there's no PSI for all kinds of synthetic classes
Rewrite KotlinClassHeader to Kotlin
Support nested chain of non-inline lambdas inside inline one
Field access chain update on lambda regeneration