Fix stack smash bug in zmq_poll

Calling to the callback functions in the same loop as pushing the return list seems to corrupt the return values (at least). 

This commit separates callback invocations from return value pushing.

Also have added XSRETURN()s but I'm not a Perl xs expert and not 100% clear if these are required.