Fix natural sort order of Fraction

This isn't a strictly necessary change, but something that struck me as needing a fix. We really shouldn't break the natural sorting semantics of Fraction just because we have a collection where we happen to want the keys in descending order. This fixes the natural sort order and uses an explicit comparator for the collection instead.