Use a pathname to clean up env
Spawn workers, don't fork

* this way we can catch stderr from zmq
Cleanup sink

* remove unused fireable method
* push memoization into initializer
ZMQ::NonBlocking calls to recv return nil
Workers check for firing at every sink push