Make core Wallet support multiple wallets of same currency

Some exchanges provide multiple wallets of the same currency, e.g. Bitfinex has a exchange, trading, and margin wallet with each all currencies. Thus it would be good if the Wallet would optionally support an additional description such as "exchange" in order to keep different wallets apart. This PR:
* Make Wallet support a optional description. Separate constructor to make it backwards compatible
* Make Bitfinex support new Wallet

Also fixes a bug in Bitfinex adapter where an ID was missing. This is mixed with the Wallet PR, if you do not want the Wallet change then I will have to split the commits.

Cheers