Give groupBy access to the message key

For people who need this sort of thing.
Remove weird try block
Add Partitioner class and do some rearranging

Formats and partitioners are now in a single `wire` package -- they have
similar roles, and this keeps the import tax down.

Added the `ugly` package for quick-and-dirty prototyping as well;
hopefully the name is suggestive enough.
Add example job from mailing list

Comes out fairly well, actually.