Initial Bitfinex support

Bitfinex support for Exchange trading. Supports all basic features for trade, market data, and account info querying. Including market data examples.

Currently does not support:
- Borrowing/Lending API
- Placing and cancelling of multiple trades. Very useful but not part of Core API. Will implement this later perhaps for Bitfinex specific trading

Current issues:
- Public trades do *not* report their trade side. Trades now just report NULL as OrderType. This can be inferred from Ticker data, but not sure XChange should handle this as it requires storing state.
- Ticker does *not* provide volume or high and low values. This is part of another API call, but I do not want to make 
multiple API calls for a single Core call.
- Not many tests yet for serialisation (all Json data available though)
- Every once in a while Bitfinex reports non-matching signature for some reason. Perhaps an exchange problem.