Refactored _trawler to:

1. Have the worker exclusively own the trawler zmq socket to be absolutely
sure it's only used from one thread. (Well, unless you break the rules and
copy a reference to the socket from out of a callback you give the worker
to execute. As far as I know python doesn't have move semantics so I can't
"fix" this, though.)

2. Clean up the queueing code, make "is_open" use the queueing code because
it now has to.