implement controlling_process function

Erlang sockets have the notion of a process owning the socket.
Implement the same for ezmq sockets.
let the ezmq_link exit with normal on send failure

returning anything else than normal as stop reason from a
gen_server throws sasl error report. terminate is already doing
the sane thing, so returning normal is correct and avoids the
sasl error report.
fix crash on inet:setopts call

inet:setopts when called on a socket that has already been closed by
the remote end, will return {error,einval}. Handle that error and
terminate our side of link as well.
[RR-ony]: reduce travis test load and use travis badge for by repo