The TensorCopyInsertion pass resolves out-of-place bufferization decisions by inserting explicit bufferization.alloc_tensor ops. This change moves that functionality into a new BufferizableOpInterface method, so that it can be overridden by op implementations. Some op bufferizations must insert additional alloc_tensor ops to make sure that certain aliasing invariants are not violated (e.g., scf::ForOp). This will be addressed in a subsequent change.
Depends On D126573