Fix default startup project issue

When a project is added to a solution, if that project supports execution
and there no valid startup project for the solution, set the new project
as startup.

Added new SupportsExecute method for checking if a project supports execution
or not. CanExcute can't be used to check that since this method depends
on the configuration, target and other properties.

Fixes 19502 - iOS project added to Shared Asset only solution cannot be
compiled