Refactor Swaps and Position

Added CommoditySwapSpread. Added discounting. More tests.
Mostly a refactor due to the introduction of HedgePortfolio