Added incrByFloat and hincrByFloat commands (binary and standard) + support for pipelining and sharding
merging with master branch. Required refactoring of Pipeline code.
Refactor Pipeline / Transaction to consume responses based on their requests, not rely on pipelinedCommands

* remove pipelinedCommands field at Connection class
** it was a risky state value
*** it was under 0 or over 0(though all commands are executed) while some situation
* remove Connection.getAll(), Connection.getAll(int except)
Let BinaryJedis.multi() consumes "OK" message

* Transaction doesn't have to consume "multi"'s response
Implemented Client.getMany(int count) to remove multiple flush while getting responses at once
Shadow client field from PipelineBlock and TransactionBlock

* it prevent from user accessing BinaryClient, while it is not treated to pipeline command
** it could make troubles when reading responses
Remove unused discard() method
Remove all @Deprecated things about *scan

* remove all @Deprecated methods about *scan
* rename ScanResult.getStringCursor() to ScanResult.getCursor()
** its original name
* let unit tests follow this change
Remove @Deprecated TransactionBlock and PipelineBlock

* remove all @Deprecated methods and classes about TransactionBlock and PipelineBlock
Remove Unit test related to @Deprecated TransactionBlock and
PipelineBlock

* missed a spot... removed
fix #553 : Overloading JedisCluster constructor to include poolConfig to be used internally for all JedisPool classes
Implements Closeable to Pooled Jedis & ShardedJedis

* Implement Closeable from Jedis, ShardedJedis with Pooled
** resources from JedisPool, JedisSentinelPool, ShardedJedis, ShardedJedisPool
* Connection class : check whether Jedis Connection is broken
** when it's time to throw JedisConnectionException, mark Connection to broken
Add Closeable to JedisPool.

This allows JedisPool instances to also participate in try-with-resources.

Adds tests (both for JedisPool and the Jedis code itself).
add a returnBrokenResource method, this way we can throw away broken ShardedJedis objects (e.g. due to timeouts on one shard)
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
Remove deprecated pexpire(key, int) methods
Merge branch 'closeable' of https://github.com/hgschmie/jedis into pool-closeable-support