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
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).
Remove deprecated pexpire(key, int) methods
Merge branch 'closeable' of https://github.com/hgschmie/jedis into pool-closeable-support
Add "closeable" unit tests to JedisSentinelPool, ShardedJedisPoolTest
Fixed #595:

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

TESTED:
export TEST=PipeliningTest
make test
Indent fix
Support Sorted Set with LEX commands

* new commands : ZLEXCOUNT, ZRANGEBYLEX, ZREMRANGEBYLEX
** added commands to Jedis, ShardedJedis, JedisCluster, PipelineBase with Binary
/ Normal(String)
** description links
*** http://redis.io/commands/zlexcount
*** http://redis.io/commands/zrangebylex
*** http://redis.io/commands/zremrangebylex
** Unit test included
Checks for buffer out of bounds before writing to the stream. Fixes #636
format code use STS
format test code
fix issue #642
Merge pull request #651 from xetorthio/protocol_bound_fix

Checks for buffer out of bounds before writing to the stream. Fixes #636
[maven-release-plugin] prepare release jedis-2.5.1
[maven-release-plugin] prepare for next development iteration