refactoring: record copy of resolved call explicitly
use constant BindingContext.EMPTY
instead of creating new BindingTraceContext
removed obsolete commented code
check Nothing type for all expressions not only for calls and simple names
(but excluding statement expressions)
made UNREACHABLE_CODE a warning instead of error
small: removed obsolete logic ('isIrrefutable')
KT-4204 ConstraintSystem erased after resolution completion
 #KT-4204 Fixed
made try, finally and throw expressions implement JetStatementExpression
Fixed exception from EA

"The constraint shouldn't contain different type variables on both sides: T <: R".
It occurred because we analyzed function literals before completion with unsubstituted (therefore wrong) expected type, and cached resulting type.
Fixed tests for labels.

The bug was automatically fixed by previous commit.
Fixed inference in a simple case.

Try number lower bounds before upper bounds when computing a value.
Check function arguments of nested unsuccessful calls.
Fixed: unmapped arguments should be completed as well.
Fixed: analyze unmapped (or with no callee) functional arguments with right context.
Merge remote-tracking branch 'remotes/upstream/master' into tail-recursion