Inspired by the recent changes here I figured I'd test these on Windows. Looks like I haven't done that in a while, they were both broken.
os.uname() doesn't exist on Windows, so use platform.machine() which returns os.uname()[4] on non-Win and (on 64-bit systems) "AMD64" on Windows. Also use sys.platform instead of platform to check for Windows-ness for the file extension in gn.py (get.py got this right).
Using [gn, '--version'] works on Windows, but I think it does the wrong thing on POSIX where it passes --version to the shell instead of to gn, so I think after r355645 the "broken gn on PATH" case isn't working right on POSIX. I'll leave that to you to fix.