Bug fix in intention to move lambda outside parentheses, handles commas better
Move: Retain imports when moving top-level declaration
 #KT-5049 Fixed
Light Classes: Track original declaration for Kotlin light fields
 #KT-4902 Fixed
Merge pull request #472 from wutalman/move_lambda

KT-4889: (Bug fix) Intention to move lambda outside parentheses now handles commas
Supported moving a labeled lambda outside parentheses
Record CALL for all invocations, not only for resolved ones
Added 'getCorrespondingCall' utility function
Record 'a!!', 'a ?: b' special calls by operation reference
Use Call instead of CallKey as a map key in ResolutionResultsCache
Added CallCompleter component
Regenerated injectors
Added NotNull annotations
Logic of completing call rewritten in CallCompleter
Changed interface ResolutionResultsCache
Removed unused methods
Removed duplication in MutableResolvedCall interface

'hasIncompleteTypeParameters()' is the same as 'getConstraintSystem() != null'
Rewrote 'isDirty' in terms of argument to parameter match status

Added ArgumentMatchStatus
Refactoring: inlined method 'setInitialDataFlowInfo'
Added tests for argument mapping
Added ArgumentMatchStatus.MATCH_MODULO_UNINFERRED_TYPES
Record argument to parameter map at the beginning
(separately from argument match status)
Changed order in call completer
 update resolution status (and report error) after completing all arguments