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 pexpire(key, int) methods
Fixed #595:

The byte version of pipeline.getrange should returns byte[] instead of Long.

TESTED:
export TEST=PipeliningTest
make test
Indent fix
Completing interface
Support CLUSTER SLOTS command

* CLUSTER SLOTS returns a Redis-formatted mapping from slot ranges to IP/Port pairs serving that slot range
* description link including output format
** https://github.com/antirez/redis/commit/e14829de3025ffb0d3294e5e5a1553afd9f10b60
* Unit test included
Merge branch 'master' into pipeline-and-transaction-can-handle-responses-on-their-own-status

* it's broken with later features, resetState()
* fixed resetState() to make it work with this PR

Conflicts:
	src/main/java/redis/clients/jedis/BinaryJedis.java
	src/main/java/redis/clients/jedis/Connection.java
	src/main/java/redis/clients/jedis/Pipeline.java
	src/main/java/redis/clients/jedis/Transaction.java
	src/main/java/redis/clients/jedis/TransactionBlock.java
Fix indentation (code formatting...)
Merge branch 'fix/complete-interface' of https://github.com/lstrojny/jedis into lstrojny-fix/complete-interface
Merge branch 'support-cluster-slots' of https://github.com/HeartSaVioR/jedis into HeartSaVioR-support-cluster-slots
Merge branch 'unsigned_long_cursor_remove_deprecated' of https://github.com/HeartSaVioR/jedis into HeartSaVioR-unsigned_long_cursor_remove_deprecated

Conflicts:
	src/main/java/redis/clients/jedis/Jedis.java
	src/main/java/redis/clients/jedis/JedisCluster.java
	src/main/java/redis/clients/jedis/ScanResult.java
	src/main/java/redis/clients/jedis/ShardedJedis.java
Merge branch 'remove-pexpire-int' of https://github.com/aniketschneider/jedis into aniketschneider-remove-pexpire-int

Conflicts:
	src/main/java/redis/clients/jedis/Client.java
Merge branch 'pipeline_getrange_fix' of https://github.com/UglyTroLL/jedis into UglyTroLL-pipeline_getrange_fix
Merge branch 'pipeline-and-transaction-can-handle-responses-on-their-own-status' of https://github.com/HeartSaVioR/jedis into HeartSaVioR-pipeline-and-transaction-can-handle-responses-on-their-own-status