Add windows compatability.

This is part 1 of a 2-part commit. I split them up so that this commit's
diff is easier to parse by humans. Part 2 will simply rename
    src -> cstructs
as this makes internal naming and usage more consistent with the
end-user experience.
Rename src->cstructs.

This lets us #include "cstructs/cstructs.h" internally, which is the
same thing end-users are expected to do.

The original motivation for this was to make it easier to run the tests
in visual studio