Added incrByFloat and hincrByFloat commands (binary and standard) + support for pipelining and sharding
merging with master branch. Required refactoring of Pipeline code.
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 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.
add a returnBrokenResource method, this way we can throw away broken ShardedJedis objects (e.g. due to timeouts on one shard)
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
Expose *SCAN commands to BinaryJedis

* method signatures are a bit similar to Jedis's *SCAN
** but it takes parameters to byte[] instead of String
* ScanParams : allow match pattern with byte[]
* ScanResult : add method to get cursor with byte[] type
* *SCAN for BinaryJedis unit tests included
Change ScanResult's cursor type to byte[]

* It's less probabilities to conversion with byte[] <-> ?
Change method naming : ScanResult.getBinaryCursor to ScanResult.getCursorAsBytes
Accept long parameter for pexpire
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