Change GUI apphost tests to not rely on window searches (dotnet/core-setup#6823)
* Disable failures when no window popup is detected. I kept the window popup detection code active as a "Fast" way to detect the process is done (it would timeout otherwise)
* Add new trace to note that we are trying to popup a window
* Add some test helpers to remove code duplication and better logging
* Validate product behavior based on traces
Commit migrated from https://github.com/dotnet/core-setup/commit/
74e62c50dbf559ba0dc8e2b1d5893309c2f058a4