Add a --udp-counters-64bit feature to support very long UDP tests.

UDP tests store a packet sequence number in the packets to detect loss
and ordering issues.  This sequence number is a 32-bit signed integer,
which can wrap during very long-running UDP tests.  This change adds
an option (defaulting to off) which uses a 64-bit unsigned integer to
store this quantity in the packet.  The option is specified on the
client side; the server must support this feature for proper
functioning (older servers will interoperate with newer clients, as
long as --udp-counters-64-bit is not used).

The default might be changed in a future version of iperf3.

As a part of this change, the client sends its version string to the
server in the parameter block.

Uses a public-domain compatibility shim for 64-bit byte order
conversions.  There are probably some additional platforms that need
to be supported, in particular Solaris.  We might add some
configure-time checks to only enable this feature on platforms where
we can support the byte-order conversions.

This change is not well-tested.

Towards issue #191.