KT-4392 #Fixed
Fix error message in test data
Methods renamed to avoid ambiguity
VirtualFileFinder and KotlinClassFinder effectively merged (through inheritance)

This is needed to implement caching of KotlinJvmBinaryClass instance inside CliVirtualFileFinder that relies on reading class headers for filtering
Direct instantiations of VirtualFileKotlinClass are replaced by access to caching service
KotlinJvmBinaryClass now has a getClassHeader() method
All IDE code uses VirtualFileFinder instead of KotlinClassFinder + proper service discovery
KotlinClassHeader.read() removed
Concrete header classes replaced by kinds

AS a consequence, instanceof checks removed, code simplified
TODO added
Stdlib: fix signature of Reader.forEachLine() function

 #KT-4242 Fixed
Conversion on copy paste: Reformat code after conversion
Disable assertion in redeclaration checker

Workaround a problem with Java built-in sources
Enum replaced by a map
Change workaround for redeclaration problem

Without this hack, redeclarations are reported when you try to rewrite *Range
classes to Kotlin
Minor: fix spelling warnings
Refactoring: remove state
Refactoring: extract method
Always create descriptors for class object psi element in lazy resolve

KT-4397 Exception: @NotNull method org/jetbrains/jet/lang/resolve/lazy/ResolveSession.getClassDescriptor must not return null

 #KT-4397 Fixed
Fix @Nullable annotation for JetClassObject.getObjectDeclaration()