Record service in telemetry events (#27252)
### Description
This change records the service name(s), if any, as part of the
SessionCreation/ProcessInfo events.
We cache the service names after the first time we calculate them in
order to avoid unnecessary overhead.
### Motivation and Context
These changes enable deeper understanding of ORT usage, since multiple
services can run inside an application in svchost, which currently
obscures our understanding of which services/use cases are most popular.
Understanding which services are actually being used can help prioritize
more investments in making ORT better targeted to end users.
### Testing
Have tested that the logic in GetServiceNamesForCurrentProcess can
accurately return service name for a given process