previously we'd duplicate 'codeNames' of debuggers.
so, if I had CodeName=gdb in both bin/debugger/internal/gdbrc and
also XDG_*/debugger/internal/gdbrc it'd effectively include both in the
list. and it was more or less undefined which one would get used.
with the revised lookup code we'll now always have unique CodeNames (e.g.
gdb will only appear once in the candidate list) and by preferring bin/
we can now put "fake" debuggers into $builddir/bin/ to force them getting
used over potentially system-wide debuggers. the latter is particularly
handy when testing since you can now fixate the gdb debugger to ultimately
be nothing more than cat /sometracefile but rely on all the same code
paths as an actual gdb run would