Add option to change directory before starting worker.

This is used when your deploy system uses symlinks to manage
releases (ie Capistrano).  If you do a reload after a deploy, the
workers are still in the old deploy directory, so they won't pick up
the new code changes.
Merge branch 'worker-directory-switch'