Remove it from op defs in MemRefOps.td and make it an external model.
This is the first PR of many that will move bufferization-related ops,
interfaces, passes to Dialect/Bufferize.
RFC: https://llvm.discourse.group/t/rfc-dialect-for-bufferization-related-ops/4712
It is still debated if the comprehensive bufferization has to be moved there as
well, so for now I am just moving the "gradual" bufferization.
This should not be a default implementation because it only applies to buffers allocated with memref::alloc. So it should be a specific implementation for that op.
For clone, I could envision it grows into a more generic clone, especially as it now is moving to the bufferize dialect and is no longer tied to memref. So there using it as default seems more reasonable, but we also need to weaken its type requirements then.