acl_files: always return a value from add_host

If it's going to return a value, it needs to always return a value.
Dewarn with -DDEBUG

It's sort of nice to be able to build with debugging.
server: c-ares support

Add the bits we need to be able to use c-ares for DNS operations in the
server.  This handles initialization and making sure the resolver's
sockets and timeouts are considered in the main loop.
Make ZRealm.srvrs be an array of pointers

With asynchronous name resolution and timers, we need to keep around
pointers to individual other-realm servers.  This, we cannot move
existing servers around in memory without causing data corruption.
But, realm_init() wants to reallocate the srvrs array for a realm when
adding servers.

Therefore, to allow ZRealm.srvrs to be reallocated without changing the
addresses of existing servers, it is converted from an array of servers
to an array of pointers to servers.
Use c-ares for other-realm server name lookups

This fixes #73
Don't send to realms with no servers

When we are using c-ares to resolve otherrealm server names asynchronously,
there is a period of time during startup during which a realm may have no
servers whose names we have successfully resolved.  This can also happen
when a realm is added, or when servers for a realm are deleted, and even
without asynchronous resolution, it can happen if we are having trouble
resolving names.

We now avoid trying to send notices to realms for which there are no usable
servers (that is, servers which are not deleted, not marked nosend, and
whose names have been resolved).  Currently, when this happens, the notice
to be sent is just dropped on the floor.  Arguably, we should manage a
queue of packets waiting to be sent to such a realm, and resend them if we
ever discover a usable server.  But that would be complicated.

In addition, since we are basically never ready to send realm wakeups when
processing the realm.list, they are now deferred until the first server's
name has been resolved (and then, until the timer queue is processed).
This has the additional effect of causing wakeups to be sent for realms
which appear during a realm.list reload.
server: Recheck other-realm server addresses daily

We currently have no support for obeying the TTLs on DNS records
containing the addresses of servers in other realms.  For now, kludge
around this by rechecking these addresses once a day whether we need
to or not.
Mark build as a .PHONY target
Fix generated header dependencies for test_server

Otherwise make -j2 may try to build it before the generated headers are ready
and error.
Don't create directory 755 on make install

It's -m 755, but that's the default anyway.
Fix prototype and style issues in test_server
Fix new style issue in test_server

Style says return types go on their own line.
zwrite: Add -S for ZNOAUTH sender spoofing

zwrite: Manpage update for -S
add -U to zwrite for UNACKED messages

Based on a patch by Ray Link <rlink+git@cs.cmu.edu>