build: work correctly when linking to a system llvm which is not the default
It's erroneous to assume hardcoded -lLLVM works, when it will either not
exist, or exist and be a symlink to -lLLVM-6.0, or exist and be a
symlink to a completely invalid -lLLVM-7
Instead, use llvm-config for what it's meant to do, and acquire the
linker --libs. In one case this means we can simplify on --libfiles
rather than --libdir plus appending some hardcoded strings, and in
another case we can simply drop a huge, confusingly repetitive
invocation which was meant to work around very old llvm versions that
are no longer supported.