Refactor position calculation

Essentially moving code around. Added 'positions' method to the Valuer
trait, and moved the SVD position calculation to its own file.
Minor changes to Qty

`compare` method was dubious, possibly not reflexive
stricter about return types of Qty builder methods, and
implicits
SVDPositions - make loss of precision clearer

Scales of hedges changed to DblQty from BDQty
Refactor CommoditySwap

rename `market` to `index`
SwapValuer was unnecessarily matching on index type - behaviour
was the same regardless
PositionPivotReport