When writing a negative sign the write(char) method goes directly to the output stream and by-passes the internal RedisOutputStream buffer causing random corruption of the output.  Casting the char to a byte ensures write(byte) is called which will properly buffer the output.
Added support for nested lists, and longs in lists.
Fixed the ordering of arguments in assertions for a couple of older tests.
Launch 3 nodes on ports 7379 to 7381 with cluster enabled.
Add command CLUSTER NODES
Add CLUSTER MEET command
Add CLUSTER ADDSLOTS and CLUSTER DELSLOTS commands
Add CLUSTER INFO, CLUSTER SETSLOT and CLUSTER GETKEYSINSLOT commands
Refactor to have interfaces.
Add cluster pipeline commands.
Prepare redis cluster for testing. The cluster will always be in a deterministic state to be able to reproduce -MOVED and -ASK
Add first test to thorw MovedDataException when receiving MOVED from a cluster node
Add RedisSlot helper to calculate key slot
BinaryJedis.multi(TransactionBlock) should not call discard when exception occurred

* In BinaryJedis.multi(TransactionBlock), multi & exec already fired before exception occured, so sending discard has no effect, and made another error
** add unit test (error inside TransactionBlock)
*** Transaction with error - Redis discards transaction automatically (execabort)
*** Transaction with error - Redis doesn't roll back (force to execute all)
Change Moved cluster test and add confirmation for jedis cluster tests
Add JedisClusterCommand and updated code to use it respectively
JedisPool / JedisSentinelPool resets returning object's state (watched,
multi)

* BinaryClient / BinaryJedis : added feature to reset its state
(watched, multi)
* JedisPool / JedisSentinelPool : calls new feature (reset state) when
Jedis object returns to pool
* Unit Test included
Refactor redis cluster connection handler and add JedisAskDataException handling
Implement all Jedis cluster commands and rename RedisSlot class
Fix BinaryJedis.eval() method bug (argument)

* append unit test for BinaryJedis
Add automatic discovery of cluster nodes
Add slot based connection which routes requests according to key slot