Handle Bitfinex timestamps as BigDecimal instead of float

These changes address issue #726. I changed all the float timestamps into BigDecimal. I also added unit tests covering the changes in BitfinexAdapters.
Since I don't have a working application for accessing Bitfinex' API yet, I wasn't able to test the changes directly against Bitfinex. Therefore, I recommend to test it manually before releasing as stable (e.g. request the orders using BitfinexTradeService.getOpenOrders().get(0).getTimestamp() and see if the timestamp matches to the millisecond Bitfinex' timestamp).

Further, I corrected a unit test that tested on purpose (!) against wrong timestamps. This is a little alarming as correct handling of the time is almost as important as correct handling of money amounts in financial applications.