Add llvm::function_ref (and a couple of uses of it), representing a type-erased reference to a callable object.