Check upgrade md5

This merges the Windows and Unix upgrade stuff a bit (since a lot is common), although still with some copy-paste duplication that I don't think hurts that much. There's a new step in build process, where we create an `md5` file of the actual binary and include it in the archive. In the upgrade code, we check for the presence of this file and if it exists, verify that we got the same md5 when we wrote the binary. Also adds an option `syncthing -upgrade-to https://example.com/foo.tar.gz`, for both manual testing and scripted deployments...