update test for new default hwm=1000 in libzmq3
add mailmap
add version_info functions for getting [py]zmq versions as tuples

This will help going forward as versions enter double-digits.
exclude mailmap from manifest
small bugfixes in ZMQStream.flush

state was not updated on flush, which could result in spurious
_handle_send or _handle_recv calls on the first iteration after flush.

Also allow for the case where callbacks close the socket.
Merge branch 'version_info'
fix 2.5-3.x except syntax in tornado's platform.windows
update README/docs ahead of 2.1.10 release
upstream tornado fix for PeriodicCallback

_next_timeout would not always advance on systems with crappy time.time(), such
as Windows, causing a PeriodicCallback to be called more than once in a loop.

original fix: c5e19a045d91b04c2796154a86b945adb784554e

Also divorce DelayedCallback further from Periodic, so that Periodic
doesn't have to be protected from infinite loops on zero-timeouts, which
only makes sense for Delayed anyway.  Periodic is now untouched.
update autodoc exclusions for eventloop.platform
update tornado docs and example

clarify use of ioloop.install(), and state that pyzmq does work
with tornado.

closes #147
fix dumps->loads typo in jsonapi.__all__

closes gh-150
Fix AttributeError caused by missing threading._Event

Cython gives an AttributeError instead of an ImportError. For safety
let's catch both.

closes gh-154
remove LABEL support, as it has been removed from libzmq

Leave some remnants commented out, as presumably it will return
more fully baked.  The prefix arg to send_multipart remains as well,
though it has no special function anymore, aside from prepending to the multipart message
(i.e. exactly what it did in libzmq-2.1,
now that 3.0/3.1 are no longer different to 2.1 in this respect).
always have both DONTWAIT and NOBLOCK, regardless of zmq version
set DONTWAIT on self.recv test methods, in case select is not trustworthy

This is due to libzmq bug in 3.1 (LIBZMQ-280), and there are a couple of
other workarounds for the bug as well.
add socket.poll() for simple polling of single sockets
update some docs and docstrings
adjust handling of unrecognized sockopts

In general, sockopts are ints, so allow unrecognized int sockopts to
pass through to libzmq.  If they really are invalid, libzmq will
raise the same EINVAL pyzmq did, but this allows new/experimental
flags to still be used with a pyzmq that has not been updated to be
aware of them.
adjust shutdown logic in tests to be more forceful