Improved Optimization of TradeRanker

The 'Optimal Trade' is no longer simply the longest, but now is the
combination of disjoint trades that will result in the highest flow of
items overall.
Ex: If 4-item, 3-item, and 2-item trades are found in a 5-item system,
and the 3-item and 2-item trades are disjoint, then the TradeRanker will
choose the 3-item trade AND the 2-item trade rather than just the 4-item
trade.