Refactored the data objects in the API

This makes it more explicit what a price and a pricestep is. The normalized price has disappeared completely (no usage). Also there is now a PriceUpdate object that coulpes a Price and a bidNumber. Furthermore, all the objects are immutable and can safely be used by multiple threads.

Also added Builder objects to the Bid types for easy creation of new Bids.

Warning: this breaks all the other code! Lots of fixing is needed after this change.
refactored the API project. BidTest isn't refactored yet because it'll have to be split up in ArrayBidTest and BidPointTest
Finished ConcentratorTest.
Added changes to Mock Classes.
Added exception to check in updatePrice so it doesn't fail silently.
refactored the core project. All tests run
refactored the example project
refactored the Mock project
Fixing integration plus cleaning code
merged development_tom and refactored some more broken code. Some integration tests still fail
Fixed integrationTests, cause was different exception thrown.
Also did format on affected tests
moved agentEvents to a new package (new.powermatcher.api.monotoring.events) and refactored the CSV logger
Merge branch 'csv' into new-data-objects
removed commented code from BidTest to prevent future merge conflicts
Finishing impl remote agentWhiteLists and borders peakShaver
missing files whitelist and peakshaver
Merged origin_bjorn, but tests fail