Extremely simply checking for fork.

This is really, really hard to get right:
http://bugs.ruby-lang.org/issues/show/2619

    def can_fork?
      pid = fork
      exit unless pid # exit the child immediately
      true
    rescue NotImplementedError
      false
    end

Is the only way to be _really_ sure, but this will be expensive. So we
don't do that. We just leave it as an option, to turn it off per job.

A few tests were setting the instance variable directly, so now they
just turn it off like the normal option.
Push down job assignment into #working_on.

It's silly to make us assemble both parts, so let's push this down.
Inject log into the worker.

Let's break that global dependency.