This makes <<, to_string, and formatv behave like the current llvm::toString (in Error.h).
Because of this, we can unify the behavior of llvm::toString with
llvm::to_string, and deprecate the former.
This patch is an alternative to D49013, I think I prefer this one.
(Currently the strings aren't exactly the same for no good reason. Deprecating toString may not be the right thing to do. Not sure the tests are organized right. I'm flexible on any of these details)