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
Buildserver auto merge