Environment with Kotlin descriptors in marker provider.

EA-41980 - assert: SignaturesPropagationData.getSuperFunctionsForMethod
Fixed misused "variance" word.
Added propagation error message when array of subtype is used in return type of sub method.

EA-43482 - ISE: JavaFunctionResolver.checkFunctionsOverrideCorrectly
Fixing signature when overriding with erased signature.

EA-43482 - ISE: JavaFunctionResolver.checkFunctionsOverrideCorrectly
Extracted method.
Substituted super functions from mapped classes.
Removed redundant parameter.
Added test with overriding Object[] with T[]

EA-43482 - ISE: JavaFunctionResolver.checkFunctionsOverrideCorrectly
Extracted PropagationHeuristics utility class.
Not compiling @ExpectLoadError annotation all the time.
Disabled assertion when return types are incompatible (incomplete/invalid Java code).

EA-43482 - ISE: JavaFunctionResolver.checkFunctionsOverrideCorrectly
Logging error instead of throwing exception.
Better error logging.
Operation mode.
Minor. Fixed method name.
Write proper enclosingMethod/enclosingClass information to bytecode
New diagnostic error for ambiguous object expression type
Test fixes for 'New diagnostic error for ambiguous object expression type'
Rename getQualifiedName() -> getFqName()
Compilation fixed