(Preliminary) Solaris/SunOS support

This compiles on SmartOS (SunOS / illumos) using GCC 4.7.
Clang complains about "madvise" not being "posix.madvise" but I don't have any "elegant" solution to fix that for now (and it fails linking afterwards because of conflicts anyway.. I think clang on SunOS is just broken).

Tests fail but it's intended apparently.
The frontend works fine.

As we discussed on IRC, we should evaluate doing a `sun.mk` override makefile, but we can do that later.

Part of #112 
@Hamcha Dunno, I imagine the win32 stuff will get pretty hairy. It's the farthest from POSIX.

I think this might turn into a real mess. `#ifdef` all over the place.