Meson: make finding Clang more robust
What does this MR do and why?
This fixes cases where Clang and LLVM are installed in different prefixes, such as when using Nix. It does this by first searching in the llvm_dir (the existing behavior), and then searching again outside of the llvm prefix.
Additionally, I've de-duplicated the Clover and CLC clang changes, which are the same after dropping some checks for versions of LLVM that Clover no longer supports.