Set dependency to Response when multi in pipeline and build dependency
first if Response's dependency found and not built

* there's some dependency with exec response and command responses
within multi
* if command responses's get() called before exec response's build(), it
calls exec response's build() first
* unit test included
Make JedisCluster multihread by improving connection handling
Merge with master
Remove unnecessary connection allocation
Make JedisClusterCRC16 multi-thread
Merge pull request #554 from xetorthio/jediscluster_multithread

Make JedisCluster multihread by improving connection handling
Make Jedis Cluster more likely to antirez's redis-rb-cluster

JedisClusterCommand

* improvements on connection error handling
** if based on slot connection throws connection related exception, retry to random node
** if we retry with random node, but all nodes are unreachable, throw JedisConnectionException without retry
** try to release connection whether connection is broken or not

* bug fix : if asking flag is on, and success this time, set asking flag to off

JedisClusterConnectionHandler

* have flexibility on initializing slots cache
** allow some nodes connection failure - skip
** if current node is success initializing slots cache, skip other nodes
** if current node failed to initialize slots cache, discard all discovered nodes and slots

* set nodes if node does not exist in nodes
** it restricts JedisPool to replace - prevent IllegalStateException : Returned object not currently part of this pool

JedisSlotBasedConnectionGuaranteedConnectionHandler

* getConnection (random connection)
** check all connections by random sequence
** always return valid connection (able to ping-pong)
** throw exception if all connections are invalid

* some refactoring
CLUSTERDOWN : JedisClusterException
Fix bug in JedisCluster del command. Fix #568
add a number of null check to return methods.

This allows calling these methods on error cleanup paths without having
to surround them with if checks all the time.
Merge branch 'fix-jedis-cluster-failover-to-slave' of https://github.com/HeartSaVioR/jedis into HeartSaVioR-fix-jedis-cluster-failover-to-slave
Merge JedisSlotBasedConnectionGuaranteedConnectionHandler to JedisSlotBasedConnectionHandler
Merge branch 'null-check' of github.com:hgschmie/jedis into null-check
Add tests to check returning null to pool
Merge pull request #587 from xetorthio/null-check

add a number of null check to return methods.
Merge pull request #549 from HeartSaVioR/make_multi_in_pipeline_and_sync_work_smoothly

Fix multi in Pipeline and sync() - JedisDataException (fixes #547)
[maven-release-plugin] prepare release jedis-2.4.2
[maven-release-plugin] prepare for next development iteration
revert back version
[maven-release-plugin] prepare release jedis-2.4.2