Add SO_REUSEPORT to list of available sock options

Add the ability to use SO_REUSEPORT for multiple applications listening
on the same port for TCP accepting sockets and UDP listening sockets.
Add a handful of useful TCP socket options

Add definitions for manipulating Nagle's algorithm, corking a TCP
connection and setting the maximum TCP segment size.
Add defines for multicast membership management

Add socket options and references to ip_mreq, enabling use of socket
options for managing IP multicast group membership.
Add IPPROTO_IP for level, based on existing SOL_IP

The SOL_IP name isn't really consistent with what the Kernel define is.
Add a MulticastTtl type

The multicast TTL type is a uint8_t typically.
Add Special INADDR_* definitions

Add definitions for INADDR_* types that are handy when instructing the
kernel how to specify interfaces.