[mlir][scf] fix canonicalization of unsigned scf.for/scf.parallel loops (#235272)
- `constantTripCount` didn't check the signedness of `diff` before
checking whether it is negative, so it returned the trip count as 0 for
unsigned loops with "non-constant bound" - problem A according to the
issue
- update `constantTripCount` call to use `getUnsignedCmp` to check for
signedness and only merge loops with the same signedness in
`ParallelOpSingleOrZeroIterationDimsFolder` - problem B* according to
the issue
fixes #233223
claude helped me with the tests