[runtime] Put back ensure_synch_cs_set () which was removed in a157ac79e8f404f0eb9b263f5de697f13528deec to work around some shutdown crashes.
Revert "[runtime] Don't pass SEE_MASK_NOCLOSEPROCESS to ShellExecuteEx as we don't care for the launched process. Part 1/3 of Bug #16119."

This reverts commit 6c06d109952acb28a8198dcf85a6e8f4d4393985.
[System] Fix process creation when UseShellExecute is set to false.

This fixes the behavior of process spawning when UseShellExecute is
set to true.

The right behavior is to return no process only when we used the system
launcher. So, spawning /bin/cat should behave in the same way independent
of how UseShellExecute is set.