Merge pull request #545 from hurtonm/master

Interoperate with higher versions of ZMTP protocol
Use of named authors on man pages is no longer a good idea since it puts off
contributors and doesn't reflect the real process. I've taken out all named
authors and referred to the contribution policy. Hopefully this will improve
the contributions to the man pages.
I'm reverting the various changes to the throughput test programs since as far
as I can see, these didn't work any more. At the very least, the command line
API was broken and forced the user to enter new, exotic arguments. Patches
should not break existing APIs. But also, the internals of these programs had
become weird.

If we want to build more complex performance tests, that's fine, but we should
make new programs, not break the old ones. We need minimal, safe performance
tests in 0MQ.

Also, the code was quite horrid. So it's gone. If anyone wants to bring it back
please make the code neat, and build new APIs instead of breaking the old ones.

Cheers
Pieter
Cleaned up copyright statements in perftest tools
Merge pull request #546 from hintjens/master

Throughput perf test was borked, fixed it
Fixed issue #525 - multipart upstreaming from xsub to xpub
Merge pull request #547 from hintjens/master

Fixed issue LIBZMQ-525
Fix for LIBZMQ-526
Fixed syntax error
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
Merge pull request #551 from hintjens/master

zmq_msg_close clarification in man pages
Implement ZMTP/3.0 NULL mechanism
Update test_raw_sock to work with ZMTP/3.0