Refactoring functions related to processImport
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
Refactoring preProcessFile to use new scanner
Move switchToForwardSlashes from pathUtils to utilities
Add comment
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