replace delayed_job with redis/resque; closes #747