Fixed resolve for callable references
functions and properties have the same priority
Refactoring. Moved error checks (for abstract, super)
 to CandidateResolver

 Added error SUPER_CANT_BE_EXTENSION_RECEIVER (it was SUPER_IS_NOT_AN_EXPRESSION)
Simplified signatures propagation for vararg types
 (do not change flexible types)
Make vararg argument of java annotation have 'out' type
Added check for incompatible variance modifiers and repeated modifiers
Fixed message for TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH error
Added tests for simple approximation (of Captured(out/in Int))
Minor: added a comment
Rewritten captured type approximation test

Approximation bounds may be non-trivial both (in this case we ignore 'in' projection);
no need for special interpretation of 'Nothing?'
Moved call resolver extensions to subpackage
Refactoring: moved capturing in closure check to call resolver extension
Moved TailRecursionKind to cfg package
Refactoring: simplified resolveFunctionCall
Extracted resolveCallForConstructor, resolveCallForThisExpression
Minor: moved checkTraitRequirements