Merge pull request #548 from hintjens/master

Fixed issue LIBZMQ-526
Fix return code redeclaration for platforms with SO_NOSIGPIPE
Merge pull request #549 from methodmissing/sigpipe-declare-err

Fix return code redeclaration for platforms with SO_NOSIGPIPE
Experimental function zmq_recviov doesnt work correctly in a couple of cases
1) VSM - you cannot hand out the 'data' address as it was not allocated on the heap
2) for other messages the 'data' address cannot be handed out either, as it not the address
originally returned by malloc and hence cannot be passed to 'free'.
see msg.cpp
u.lmsg.content = (content_t*) malloc (sizeof (content_t) + size_);
....
u.lmsg.content->data = u.lmsg.content + 1;

So the function is changed to always malloc a data buffer and copy the data into it.
There is a possible optimisation using memmove for the non-VSM case but that is not done yet.
Merge pull request #550 from JonDyte/iovec

Experimental function zmq_recviov doesnt work correctly in a couple of c...
Clarified zmq_msg_close not needed after zmq_msg_send
Fixed up test_iov case