ZMQ API diverges from POSIX

As far as I know is libzmq's API oriented to mirror POSIX. I noticed a minor difference when working on a bug in zmqpp. The length of a message returned from zmq_send and zmq_recv is truncated to an int though most POSIX implementations on 64 bit systems return a size_t. As libzmq does support messages over 2GB in size I think the API should be changed accordingly.

return values of socket functions are size_t (not int) in compliance with POSIX
deprecated API (zmq_msg_recv/zmq_msg_send) still returns int