Currently, azmq::message move ctor/assignment implements the equivalent of zmq_msg_move(). This is not error prone against future changes in ZMQ. I propose to simply call zmq_msg_move() instead.
Btw, current implementation of move assignment has leak: existing message is not closed before assigning.