Fixed KT-4814: check type when a += b is a = a+b
In cases when a += b is a = a + b, check that (a+b) can be safely casted to a
Assignment operations test fix:
type infered for these vals are MutableIterator, but there is no plus (returning MutableIterator)
nor plusAssign operator for them, so I casted them explicitly to Iterator
Assignment operations test fix:
these methods used in expressions like a = a + b, so they need to return
NotNull when receiver is NotNull
Assignment operations test fix:
x is a byte, x += 2 translated to x = x+2, but type of (x+2) currently
is Int, so it's not compiled because Int can't be stored in Byte.

Maybe we need to think about what should be a result of sum of to
Bytes, but currently it's still Int
+= tests fix
Render candidate and resulting descriptors in resolved call tests
Added tests for 'super' resolved calls
Added tests on resolved calls
 for annotation entry, delegator to super call, array access
Added tests for choosing 'most specific' resolution candidate

Fixed test (while resolve with library on android): 'run' resolves to library function
Refactoring: moved methods to call util
Resolve operation (unary, array access) on error element instead of ignoring it
(to record corresponding call for later simplification in control flow)
Generate code for unmapped arguments in control flow
++Resolve operation (unary, array access) on error element instead of ignoring it
Function literal expression outside the parentheses wrapped into JetFunctionLiteralArgument

Extracted JetFunctionLiteralArgument.moveInsideParenthesesAndReplaceWith util function
Added 'getParameterForArgument' util function (using resolved call)

Removed similar util methods (using psi):
getParameterCorrespondingToValueArgumentPassedInCall
getParameterCorrespondingToFunctionLiteralPassedOutsideArgumentList