ValueFactory (nonce)

These commits introduce ValueFactory interface and a simple implementation for it, based on System.currentTimeMillis().

The purpose is to calculate nonce just before sending it, both in a single synchronized block.

There are simple unit tests, I have also tested it on a live exchange. https://github.com/rafalkrupinski/XChange/tree/nonce-kraken

also see https://github.com/timmolter/XChange/issues/525
We're trying to find a balance between the highest possible communication speed and ensuring the messages are received in the same order.
Ideally we would send a message as soon as the previous one was received by the server, but before it's processed, unfortunately we don't know when exactly is that.

Reading data in the synchronized block would make the communication with the exchange fully serialized (single threaded). I'm not sure if that's what we want. Is it?

We could add flush() in the block to make it more probable that it is sent in the the correct order.