broker: send initial keepalive to parent

Ensure that a message is sent to the parent in a timely fashion,
to trigger a zmq internal connect.
broker: tidy up peer create/destroy

Rename peer_modcreate() to peer_create() with a 'modflag' argument,
and call it from peer_update() instead of duplicating the create code.
Add a matching peer_destroy().
broker: tidy up cmb_event_send()
broker: cc events on TBON
broker: drop 250ms sleep for issue 38

Now that events are being sent via the TBON also, this race is closed.
broker: mute secondary event source after wire-up

Send cmb.event-mute to parent once duplicate events are received.
broker: handle events sent to ring peers

A consequence of Cc'ing events to newly connected peers is that
ring network peers connect to the same request socket as TBON peers.
Thus an additional redundant source of events is possible.

Allow this but instead of shutting off the parent when the first
duplicate is received, set a flag when the first event is received
on the primary event socket, then when events are received on other
sockets and this flag is set, send that peer (on whatever socket)
a mute request.
libapi: disable zeromq signal handlers

Call zsys_handler_set(NULL) before zctx_new() in libapi so that
ZeroMQ won't install its own handlers for SIGINT and SIGTERM.

Fixes issue #107
Merge pull request #115 from garlick/lost-event3

avoid race on event wireup
Merge pull request #117 from garlick/api-signal

libapi: disable zeromq signal handlers