Refactor zmq_recv to mimetize zmq_send

Hi Ashton,

I have refactored zmq_recv, please take a look...