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
Please note that the diff view is pretty confusing. I didn't change the existing comment, but moved it to the function it documented in line 215.
'distance' here is an arbitrary value set by the search function to somehow order results. It is set to 0 by most of them simulating previous behaviour, but scope_search_fp sets it to the number of scope levels climbed up to find the identifier.
As described in the comment that is unfortunately folded away as outdated, I'd like to name it differently than 'distance' to avoid confusion. The best alternative I could come up was 'proximity', but seems like the opposite. Do you have suggestion?