Specialize the DeduplicateInputs and RemoveIdentityLinalgOps patterns for GenericOp instead of implementing them for the LinalgOp interface. Also separate out an EraseIdentityCopyOp pattern
This revsion is based on https://reviews.llvm.org/D105622 that moves the logic to erase inplace copiese identity CopyOps in a separate pattern.