[Qt] catch Windows shutdown events while client is running

- prevents unsafe shutdowns on Windows, which is known to be
  able to cause problems with wallet.dat
- if a users ends a Windows session, this will initiate a client shutdown
  and show a Windows dialog, that tells the user what is going on (for
  Windows Vista and higher it will even show a reason for blocking the
  Windows session end)
Merge pull request #4043

d282c1f [Qt] catch Windows shutdown events while client is running (Philip Kaufmann)