Move the sorter from the worker package to jobutil package.
Do not close the response body if an error occurs.
Use errors.New instead of introducing new error type.
Extract the grouper out of the example.

This grouper can actually be more useful and other examples can use it.
Make the grouper more go idiomatic.
jobutil: close http connection even if the response is not OK.
Send all of the parts of the input in the jobpack.
worker: use random filenames for outputs of the stages.