Fix concurrency auto-detection
Auto-detect runner concurrency based on total CPU threads (vcpus), instead of only processor cores. This accounts for both multiple cores and multiple processors.
For example, some virtual machines will detect as having multiple discrete processors (1 core each) instead of one processor with multiple cores. And some physical servers have 2 (or more) processor sockets.