Adds heartbeats to mqexec

Heartbeats are a feature that is supposed to be implemented in
ZMTP 3.1 (coming soon, I hope). In the meantime, mqexec should
do its own heartbeating to try to detect failed connections back
to Nagios as quickly as possible, rather than let TCP timeout.

This commit adds the heartbeat config global variable to mqexec.
It will send a ping message to Nagios over the PUSH socket every
n seconds and receive a pong message over the SUB socket. If a
pong message isn't received in the heartbeat interval, it will
close both sockets, re-open them, and try again. If ZeroMQ does not
have a connection, this will all be a NOOP. Between ZeroMQ closing
a connection, and the first successful pong message, it will retry
every second.