Heroku cost optimization generic worker v1

@softwaregravy Unless we know 100% that it's Heroku's fault, I think it's better not to tie it to anyone. Taking advantage of multithreading is enough to justify changing the background job processor.