Bitfinex: use new type in Trade, AtomicInteger nonce, collection limits

Some improvements to Bitfinex:
- most importantly it's now returning the correct trade side for every trade. 
- Also switched to the established AtomicInteger pattern for the nonce
- Limit collection allocation to known sizes

Tested all the authenticated functions using multiple threads calling them at the same time.