Selection policy. Device discovery updates. Bug fixes. (#24625)
### Description
<!-- Describe your changes. -->
Add initial selection policy implementations.
Update device discovery
- get vendor and vendor id for CPU from cpuid_info
- trim metadata to known useful fields
- NPU detection via dxcore only Bug fixes/updates from PRs for C# and
python bindings
Add some tests for selection policy
- TODO: Add more tests
### 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. -->
Desire to boil oceans.
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>