unreliable sendto added to arq example

The unreliable sento (packetErrorSendTo) has been substituted
in for sendto in the client and server.  It appears to work
normally for a period and then it drops a packet.  No error
is reported by packetErrorSendTo.  And since a blocking recvfrom
is used it blocks forever waiting for a packet that will never
arrive.

    jeri@hudson:~/socket-examples/arq$ diff snw-client.c ../udp-echo/echo_client.c
    30,31d29
    < #include "packetErrorSendTo.h"
    <
    92c90
    < 			n = packetErrorSendTo(sockfd, buf+i, left, 0, res->ai_addr, res->ai_addrlen);
    ---
    > 			n = sendto(sockfd, buf+i, left, 0, res->ai_addr, res->ai_addrlen);
    jeri@hudson:~/socket-examples/arq$
preliminary ARQ functionality added to snw-client

A very simply ARQ scheme has been implemented in the
snw-client.  If it takes too long to get a reply it
times out and re-sends the packet.  As long as the timeout
is longer than the maximum latency for a normal RTT it
will work.  If it was too short there could be duplicate
packets.  An special ACK packet is not used but since the
server will simply echoes the data it receives, the same
effect is accomplished.
snw-server now binds to a free port

The snw-server has been updated to use getaddrinfo(NULL, "0", ...
which allows it to bind to a port as a server. But the operating
system provides the port instead of it being a constant defined
by the program.
completely working arq example

The arq example (Automatic Repeat Request (ARQ)) is completely
working and can perform transfers of any amount of data.