Move overload resolution logic into chooseOverload function
Begin refactoring overload resolution to collect more info
Give different errors for different overload resolution issues
Revert the stuffing of instantiated signatures back into the candidates array
Specify error message for type argument inference failing
move completion list position detection to the new tree
Split completionListAtIdentifierDefinitionLocation into multiple tests to ease debugging
remove call to getSourceUnit
Disallow completion in interface declarations
Add test for issue#903
Add test for bug #807
Fix issue #866, detect the current location correctelly in completion entry details
Fix issue #764, select the correct scope node if not left of a dot
Merge branch 'master' into completionFixes

Conflicts:
	src/services/services.ts
Cleanup completion list logic:
- Do not walk the tree multiple times for the same session, instead pass along the previous token
- Use current token if the this is not after a dot to avoid running into scoping issues
- Also, add some documentation about different steps
Move helpers to the bottom of the function
Fix wrong condition for unterminated multi-line comments
Have inferArgumentTypes return the InferenceContext
Report type argument inference errors on specific candidates
Merge branch 'master' into overloadResolution

Conflicts:
	src/compiler/diagnosticInformationMap.generated.ts
	src/compiler/diagnosticMessages.json