Plugin EP data transfer and Stream support. (#25254)
### Description
<!-- Describe your changes. -->
Plugin EP data transfer and Stream support.
Add the ability for a plugin EP to provide an IDataTransfer
implementation and an OrtSyncStream implementation to do async data copy
outside of an inference session.
Example usage added for CUDA EP.
Caveat: Support for providing the OrtSyncStream from the data copy to
Session.Run will be a follow up PR. For the CUDA EP we can pass in the
native cudaStream_t from the OrtSyncStream used for the data copy to the
Run via CUDA EP provider options.
### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->