Greedy preconditioning

This adds market ordering functionality to be used by the GreedySolver if needed. The only piece missing is connecting the weight mapping with the commodities as defined in the input file. I'll leave that until we actually have a concrete use case.

This is a separate PR than #649. Closing #650 now.