towards Win64

Working towards #609
Still trying to get the unittests running.
I think (triple.getOS() == llvm::Triple::Win32 && triple.getEnvironment() == llvm::Triple::GNU) is also a possibility, at least from reading the `Triple` source code a while back. No idea if it ever appears in practice, though.