close gap with upstream IOLoop
close gap with upstream IOLoop

The diff between tornado's IOLoop and pyzmq's is now tiny

a ZMQPoller is used to map the differences between IOLoop's expectations
and zmq's Poller.

install() sets IOLoop._instance instead of clobbering the class itself
caidongyun/pyzmq,dash-dash/pyzmq,dash-dash/pyzmq,swn1/pyzmq,caidongyun/pyzmq,Mustard-Systems-Ltd/pyzmq,Mustard-Systems-Ltd/pyzmq,swn1/pyzmq,ArvinPan/pyzmq,ArvinPan/pyzmq,caidongyun/pyzmq,yyt030/pyzmq,dash-dash/pyzmq,ArvinPan/pyzmq,yyt030/pyzmq,Mustard-Systems-Ltd/pyzmq,swn1/pyzmq,yyt030/pyzmq