Rewrite KotlinOverrideHierarchyProvider from Kotlin to Java because Kotlin compiler generate wrong byte code(KT-4456) and IDEA verifier failed on it.
Fixed mapping generic type with multiple bounds from Java to Kotlin.

#KT-3480 fixed