bind new send/recv funcs, add stubs for zmq3 functs when using zmq2

zmq_sendmsg() and zmq_recvmsg() are deprecated, the new functions being
zmq_msg_send() and zmq_msg_recv(); therefore we add MSG-SEND and MSG-RECV and
remove SENDMSG and RECVMSG. We still use %SENDMSG and %RECVMSG in SEND and
RECV to avoid unnecessary modifications.

zmq3 functions were not exported, but exporting them will make the system
unloadable with zmq2 since these functions will not exit. So when using zmq2,
we add stubs which raise an error when called. The DEFUN-ZMQ3 macro
automatically define these stubs. To fix indentation of DEFUN-ZMQ3 forms in
emacs, you can use:

  (put 'defun-zmq3 'common-lisp-indent-function
       (get 'defun 'common-lisp-indent-function))

In your emacs configuration file.

I am starting to hope that zmq2 gets deprecated so that we can clean all of
this :)