Cleanup---clean up compiler warnings.
Cleanup the Makefile

The option for C99 should be (IMNSHO) associated with CC, not CFLAGS.  The
rational for this is that you are specifying a C99 compiler, not any old C
compiler.  Also, the options for specifying C99 vary with some compilers
(the Solaris compiler, for instance, uses "cc -xc99") so it makes sense to
specify C99 with CC.
Portability---you need to define _GNU_SOURCE if using GCC.

So, protect the definition in case we aren't using GCC.
Add an all-encompassing union of address structures we are interested in.

Right now, it's a union of sockaddr_in and sockaddr_in6.  This avoids a lost
of nasty casts in the code and makes our lives easier in the long run.
Parse any addresses given on the command line.

We can parse IPv4 and IPv6 using standard POSIX calls.  We store the results
in a sockaddr__u, already parsed and ready to pass to the various BSD
networking system calls.  There is any easy check for IPv4 vs. IPv6, so those
options will go away.  There are also some easy calls to check for multicast
addresses, so *that* option will go away as well.

Let the code figure this stuff out.
Remove the IPv4, IPv6 and multicast options.

We can parse an arbitrary address, so the -S option can figure out what to
bind from the sa_family field.  From there, it can check for a multicast
address, so *that* option can be zapped as well.
Convert the -S options to have a mandatory options.

The -S option is the server option.  You have to specify an address to listen
on.  If you want to listen on any interface, you can use:

	0.0.0.0:port
	[::]:port

Given the address, we can figure out the family and create the appropriate
socket.

I have to move some routines around to avoid making prototypes.  I don't know
if this is a Good Thing, but it saves some typing.
Robustness---we do need to check if any hosts have been specified.
Merge branch 'spc' of git://github.com/spc476/twd

Conflicts:
	Makefile
	twd.c
	twd.h

plan was to be able to make this run out of inetd, and -S with no options.
Client could use dns to specify the end host.

Thus we still need --ipv6 and --ipv4 options
The code for parsing out the port number was cleaner than mine, so using
that for now. took the other cleanups, too.