New data objects

Merge of feature branch. This separates the Bid into ArrayBid and PointBid. 
Adds the PricePoint and PriceStep.
Also adds the PeakShavingConcentrator and ObjectiveAuctioneer.
Greatly enhances the visualizer
Adds relevant unit tests and fixes existing ones