Better location of `affine.delinearize` operation

Following up on this [mlir][SCF] Use Affine ops for indexing math. by MaheshRavishankar · Pull Request #108450 · llvm/llvm-project · GitHub adds back use of affine.delinearize_index and other operations to the loop coalescing transformation.
It seems like there is no dependence issue SCF/Utils/Utils.cpp already depends on AffineDialect. But the main issue is that the affine operations only support index types, when a lot of affine operations could work just fine with regular integers. Maybe we move these operations to arith dialect?

cc @qed and @ftynse