Now that CondBrInst and UncondBrInst are explicit subclasses, use them instead. HotColdSplitting was trying to inspect prof metadata also on unconditional branches, fix this. Also introduce C API cast functions and deprecate LLVMIsConditional in favor of LLVMIsACondBrInst. This patch covers all LLVM uses outside of Transforms, Analysis, CodeGen/Target, SandboxIR, Frontend/OpenMP, tools, examples.