++added test for nontrivial nested calls
fixed ArrayIndexOutOfBoundsException in quick fix util

(in 'getParameterCorrespondingToValueArgumentPassedInCall')
++complete resolve for array access expression
fixed: use function placeholder when there is no declared value parameter list

 (not when there is no value parameters)
added UNIT_EXPECTED_TYPE

use it for coercion to unit instead of repeating analysis twice
refactoring: extracted method 'getTypeOfLastExpressionInBlock'
analyze all arguments with unknown expected type
 in the beginning of call resolution process
removed unnecessary parameter

resolve argument without temporary trace
(it's resolved and put to call trace in the beginning anyway)
Use temporary cache when resolve function literals twice
fixed: dataFlowInfoForArguments was not set in call candidate context
removed obsolete use of temporary trace
always analyze 'if' as a call

not only if it's analyzed as an argument
wrap if branches in blocks
test data updated

arguments analyzed even if there's type inference error