This method short-circuits when an instance has already been chosen, so avoid duplicating this check at call sites.
Fix logic in cmVSSetupAPIHelper::IsVS2017Installed to work correctly on repeat calls. Closes: #16549
VS 2017 exports a COM component which can be queried to find if VS 2017 is installed and also other components such as VC toolset and Windows SDKs. Add a helper class to interact with this interface.