Migrate MarketMetadata, fix HitBtc

Changed getMetadata() to let it return Map<CurrencyPair, ? extends MarketMetadata> so user can get all the currencies with single call.
Moved the the method to AccountService, because it uses some form of getAccountInfo most of the times anyway.

In case of HitBtc, TradeService uses the data to prepare orders and interpret trade history, so the constructor calls getMetadata() and passes the result to the TradeService. I'm not really fond of calling remote method from constructor, but I didn't find other way to do it. I'm open to suggestions.

Also, removed default currency from getTradeHistory as it's optional parameter, and fixed placeMarketOrder timeInForce parameter. I can push these fixes in separate patch, if you don't like the rest.
Returning _? extends MarketMetadata_ allows to return specific type in the implementations