Secondary sort by value

Finally managed to get #240 working!

Apparently, my original approach was basically correct, but our protocols couldn't handle Hadoop adding a trailing tab (as a result of treating the whole line as the key). Also now have tests and documentation. I originally considered implementing this as a runner option, but it works a lot more cleanly as part of the `MRJob` class.

This patch is was commissioned by [Lyft](http://www.lyft.me/), the ridesharing service. Thanks, Lyft!