Network.Socket: Added CustomSockOpt data constructor for SocketOption

This patch allows socket options to be packed manually. This is useful if a new or obscure socket option is required and does not yet exist as a constructor. For example, `TCP_DEFER_ACCEPT` is not presently supported.