upstream tornado fix for PeriodicCallback
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.

ArvinPan/pyzmq,Mustard-Systems-Ltd/pyzmq,Mustard-Systems-Ltd/pyzmq,swn1/pyzmq,caidongyun/pyzmq,caidongyun/pyzmq,yyt030/pyzmq,ArvinPan/pyzmq,Mustard-Systems-Ltd/pyzmq,yyt030/pyzmq,dash-dash/pyzmq,yyt030/pyzmq,ArvinPan/pyzmq,dash-dash/pyzmq,caidongyun/pyzmq,swn1/pyzmq,dash-dash/pyzmq,swn1/pyzmq