Add Windows upgrade support

As suggested in the email, perhaps it is worth while to factor out getLockPort and waitForParentExit from cmd/syncthing/main.go into osutil as public methods, and reuse those instead of my os.FindProcess implementation.

Also, not exactly happy with the hackery of injecting '-upgrade-check' flag just to be able to divert the code where I want.
As you yourself said, we should probably use a LockPort here instead if that works (that's the simplest cross platform process locking mechanism I've figured out at least).