Greedy conditioning

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.

*note* this is build on top of #649, so #649 should be pulled first