Fill CUDA Transpose operator opset gap (23 → 25) (#27740)
### Description
Extends the CUDA Transpose kernel registration from opset 23 to opset
25.
- **`transpose.cc`**: Cap existing opset 23 kernel to versioned `(23,
24)`, add new non-versioned kernel at opset 25
- **`cuda_execution_provider.cc`**: Update forward declarations and
`BuildKernelCreateInfo` entries to match; add new `// Opset 25` section
- **`docs/OperatorKernels.md`**: Update CUDA Transpose entry from `23+`
to `25+` with new `[23, 24]` versioned range
No functional or type constraint changes — the kernel implementation is
identical across these opsets.
### Motivation and Context
CUDA EP's Transpose registration stopped at opset 23 while the ONNX spec
defines it through opset 25. This is one of the P1 gaps tracked in
#27729, following the same pattern as #27728.
### Limitation
This PR does not add support of new data type for Transpose:
- int2 (opset 25)
- float8e8m0 (opset 24)
- float4e2m1 (opset 23)
- float8e4m3fn,float8e4m3fnuz, float8e5m2, float8e5m2fnuz, uint4, int4
(opset 21)
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: tianleiwu <30328909+tianleiwu@users.noreply.github.com>
Co-authored-by: Tianlei Wu <tlwu@microsoft.com>