Support sticky IPV6_PKTINFO
Refactoring: move stuff to new conversions.c
Build fixes; accept names for if_index
Fix buf in string -> int conv.
Payload of HOPLIMIT/TCLASS are 8-bit
Ensure memory is initialized
Revert "Payload of HOPLIMIT/TCLASS are 8-bit"

This reverts commit 61a5ec7381ba5388a52926779fe3f58af0caea83.

I checked Linux and OpenBSD and both use integers to write the
IPV6_TCLASS messages and they don't force any endianness. This is
despite RFC 3542 explicitly saying the first byte of cmsg_data will
have the result. In any case, it doesn't make any difference in
little-endian archs.
Remove some pre-vista code
send/recvmsg() support for Windows
Fix non-Windows build