Sort any field that implements Lesser using its Less method

This allows fields of otherwise-sortable types (e.g., string) to define
a custom Less method to override the normal sorting behavior.