Fix 13736 - Spellchecker should prefer symbols from inner scopes

spell checker: find the "closest" symbol for the minimum levenshtein distance by counting levels of scopes between the identifier and the found symbol. If the symbol is found through an import, another level is added.

This is needed to let the precise GC pass the test suite, otherwise "gc" is easily reported for spell checker tests.

https://issues.dlang.org/show_bug.cgi?id=13736
Is the assumption correct that `scopesym != s->parent` means "found through import? If yes, we could exclude private symbols from imports aswell.