Add the ability to remove diagnostic callbacks. This is necessary for diagnostics who's lifetime is tied to objects that can be destroyed. Differential revision: https://reviews.llvm.org/D143548