prevent restarting gc during atexit
Merge pull request #516 from minrk/atexit-gc

prevent restarting gc during atexit
fix memory leak in zero-copy allocation

it appears to have been sensitive to
where in the function `malloc` is called.

Calling it later appears to fix the leak.

This is crazy.

Along the way, I cleaned it up to use one malloc of a struct with two ints,
and create the zmq_msg_t in the free_fn,
so if a leak returns it won't be so severe.
Merge pull request #517 from minrk/leaky

fix memory leak in zero-copy allocation
raise ENOTSOCK instead of ENOTSUP on closed sockets

more consistent with underlying libzmq behavior

cffi backend already behaved this way, just change cython to match.
Merge pull request #524 from minrk/enotsock

raise ENOTSOCK instead of ENOTSUP on closed sockets
use req/rep to synchronize before pub/sub
Merge pull request #525 from eguven/improve_pubsub_example

use req/rep to synchronize before pub/sub
add ZMQVersionError for features that require libzmq newer than linked

subclass of NotImplementedError
Merge pull request #522 from minrk/zmq-version-check

add ZMQVersionError for features that require libzmq newer than linked
Remove erroneous term(linger) from CFFI backend
don't use deprecated socket_type in monitoredqueue
Merge pull request #530 from minrk/socket_type

don't use deprecated socket_type in monitoredqueue
Merge pull request #528 from minrk/term-linger

Remove erroneous term(linger) from CFFI backend
don't set copy=False in recv_string
Merge pull request #532 from minrk/recv_string_copy

don't set copy=False in recv_string
pull upstream changes to zmq.ssh from IPython
Merge pull request #529 from minrk/ssh-upstream

pull upstream changes from IPython
fix inappropriate use of Py_ssize_t

Py_ssize_t != size_t, so casting void* to Py_ssize_t could result in OverflowErrors.
Merge pull request #534 from minrk/size_t

fix inappropriate use of Py_ssize_t