zbeacon: uses only interfaces that are running

Adds a check in s_get_interface to ignore the interfaces that do not
have the IFF_UP flag set.
zbeacon: Adds virtual interface "*"

If zsys_interface() is set to “*”, make the beacon broadcast to
INADDR_BROADCAST and bind to INADDR_ANY
zbeacon: Ignore interfaces that are bonding slaves

Ignore interfaces that have the IFF_SLAVE flat set, if this flag is
defined.
Merge remote-tracking branch 'upstream/master'
Create a monotonic clock function, use it where time offsets are computed.

Problem:  If the system time is set backwards while a czmq application is
          running that has timers set on a zloop, those timers will stop
          until the system time reaches its previous value.

Solution: Introduce a monotonic clock that is not affected by system time
          changes.  Use this clock where time offsets are computed.
Merge pull request #566 from mtspencer/master

Create a monotonic clock function, use where time offsets are computed
Problem: need UUID construction from string

Solution: add zuuid_set_method.
Problem: not working properly on ZeroMQ/2.x any more

The problems are mainly with inproc bind/connect. In 2.x these have
to come in the right order, and with multiple threads, we need a
short pause before connect is safe to go.

I might fix this in zsock_connect by pause/looping a few times, if
we're on 2.x and the connect fails.
Problem: zsock_connect on inproc is fragile prior to ZMQ v4.x

Historical versions of ZeroMQ did not allow connect-before-bind
on inproc://. This hits especially with multiple threads where
you cannot be sure what order threads start up.

Solution: on ZMQ v2.x and v3.x, if zsock_connect fails with an
ECONNREFUSED error, sleep for 250 msec and then retry. We do this
four times for up to 1 second wait.
Merge pull request #567 from hintjens/master

Fixing CZMQ to work again on ZeroMQ 2.x
Problem: not testing all supported versions of ZeroMQ

Solution: expand/rewrite Travis script for full coverage.
Add uuid-dev install for ZeroMQ 2.x
Merge pull request #568 from hintjens/master

Fixing Travis build for all versions of libzmq
Updated man pages
Problem: need condition string send

Often we have class property strings that are null, if not set. To send these
safely needs additional logic.

Solution: zstr_send() accepts NULL string as argument and sends as "". Before,
this would assert, so there is no backwards compatibility issue.
Problem: zactor_destroy blocks forever when actor is already dead

This can happen when actor threads terminate for their own reasons.
The zactor_destroy waits forever on zstr_send () as there is no-one
at the other end of the pipe.

Solution: don't block on sending, and if sending failed, do not wait
for a signal from the actor thread.
Problem: zuuid_set_str generated empty uuid string

Although hex decoding gave correct binary value, the conversion
overwrote self->str with null bytes, causing this to be empty.

Solution: added check for this in selftest and fixed the code.
Merge pull request #569 from hintjens/master

Small fixes needed for Zyre gossip work
workaround warning of non-constant static initializer
Merge pull request #570 from pijyoi/master

workaround warning of non-constant static initializer