Use poll() instead of select() on non-windows platforms

select() is limited to working with file descriptors that are smaller than FD_SETSIZE, which is usually a very low number, sometimes 256.  It's not really a solvable problem, so for platforms that are not windows based I use poll() instead.  This should cover any modern POSIX system.  Note that it's not the number of FDS that we are concerned about, it's simply the value of the FD passed to select.

I'm not exactly happy about the _WIN32 ifdef, but there's no autoconf system to do feature detection. I'm open to suggestions on better ways to handle this.

I also cleaned up a few compiler warnings in the same file with respect to unused vars.