Problem: under some debuggers, asserts in zsys_close

Valgrind, for instance, delays threads randomly at exit, so the
atexit handler can be called while child threads are still alive
and this leads to assert failures in zsys_close when zactor
tries to close its pipe.

Solution: allow zsys_close() after atexit handler has run.
Problem: win32 api calls in portable code

Technique of defining e.g. closesocket to work on POSIX boxes is
kind of horrid; this makes the code harder to copy and understand.
I'd rather be explicit about putting non-portable code into zsys.

Solution: define zsys_udp_close() to close (UDP) sockets.
Fixed erroneous zsys.h
Problem: need gossip discovery service

This is to provide an alternative or complement to zbeacon for networks
with one or more static services. The gossip service will run on every
node, so that nodes maintain and synchronize their maps of the network.
This will allow any mix of static and dynamic nodes on a network, where
static nodes bind, and dynamic nodes connect.

The main use case for zgossip is Zyre, which builds a fully-connected
cluster across all known nodes in a network.

This commit is for the basic zgossip API, which is built on the zactor
class. The code doesn't do anything real yet.
Merge pull request #498 from hintjens/master

Problem: under some debuggers, asserts in zsys_close