Completely untested Windows support

I only cross compiled it. I need to set up Go on Windows to see if
it actually works. Largely borrowed from mmap-go, but I will
likely refactor once it is working.
Fixed tests for Windows.
Hopefully add AppVeyor support