Minor, simplify method
Minor, fix/suppress warnings in codegen
Delete Enum.name()/ordinal() JVM intrinsics

Bytecode is the same if they're generated as is from descriptors

+ Some minor code style improvements
Fix KotlinBuiltIns.isUnit

It didn't check type's nullability
Fix codegen for closures returning 'Unit?'

Only do a checkcast when we need to coerce Object to Unit: the code was
hopefully type-checked so that it'll only be necessary when the value is either
Unit.VALUE or null
Rename KotlinBuiltIns.isAny -> isAnyOrNullableAny

Reduce confusion, prevent bugs
Delete unused code
Utilize existing mapType methods

Fix warnings related to nullable CallableDescriptor.getReturnType()
Update doc comments of utility functions on lists
#KT-2341 Fixed
Make intrinsic method always generate value of expected type on stack

IntrinsicMethod.generate()'s return value is 'StackValue.onStack(returnType)'
and will be dropped
Drop return value of IntrinsicMethod.generate()

It's always "StackValue.onStack(returnType)"
Minor, extract method
Simplify function invocation in ExpressionCodegen

Callee is now generated only when it could be non-trivial, which is only the
case when generating function call in invokeFunction()
Refactor ExpressionCodegen.invokeFunction() once again

Extract and reuse return type mapping between normal callable methods and
intrinsics