thread-safe Gearman client

I don't understand how this has any effect on workers--can you explain?

I also don't see this as a big hoop to jump through. Like I said, it's analogous to a configurable `Stdout` in `exec.Cmd`; the user is running something that will generate byte data, and so they should be able to configure where that data goes.