Add everything except exchange function

exchange function and profit calculation left in CurrencyManager.

Nothing compiled or tested yet.