report ERROR_COMPILE_TIME_VALUE for constants instead of TYPE_MISMATCH

(functionality returned)
report only 'The value is out of range'

not 'An integer literal does not conform to the expected type Int/Long'
refactoring: extracted methods

from 'completeNestedCallsInference'
added test for nontrivial nested calls
removed code duplication

extracted 'getTypeInfoWhenOnlyOneBranchIsPresent'
++refactoring: extracted methods