WIP - fixing some edge case issues with uninstall

A bunch of assorted fixes:

 - run a new installer on a system which already had the application installed
 - log the Win32 message when MoveFileEx fails
 - log files are suffixed with the process number - to help trace scenarios where install AND uninstall are involved
 - uninstall step would always try and navigate to a ViewModel (only do this when Full)
 - ShouldQuit would fail when a UI is not present
 - log messages are less terrible than before

Test Plan:

 - [ ] install version A, then install version A again. 

Expected: 
 - A runs 
 - A in Programs & Features list
 - No other folders in %LOCALAPPDATA%

 - [ ] install version A, then install version A+1 while app A is open. Close A and restart. Click shortcut.

Expected: 
 - A remains open. 
 - A+1 in Programs List & shortcut. 
 - Folder A is around after install.
 - A+1 is opened when clicking shortcut
 - Folder A is removed after restart.

 - [ ] install version A, then version A+1. Open A+1 via shortcut. Install version A+2 while A+1 is open. Close A+1 and restart.

Expected: 
 - A, A+1 remain usable throughout installs
 - A+2 in Programs List & shortcut. 
 - Only folder A+2 is around after install.
 - A+2 is opened when clicking shortcut
 - Folder A, A+1 is removed after restart.