fix bug in Protocol.processBulkReply()

* if RedisInputStream().read() at Protocol.processBulkReply() returns
-1, it runs with unexpected behavior
* fix: check and if return value is -1, it throws
JedisConnectionException with message "server has closed the connection"
** prevent unexpected behavior, specially ArrayIndexOutOfBoundException 
*** calls System.arraycopy() with length = -1 (cause limit = -1) at
RedisInputStream.read()

add pubsub unit test scenario : client-output-buffer-limit exceed

* Redis warns event(disconnect client) to their log, and suddenly
disconnected connection
** http://redis.io/topics/clients -> Output buffers limits
** so test expects JedisConnectionException with proper message
* fix bug: test expects JedisConnectionException
** I have mistaken while verifying seeing Exception's message
* remove huge print messages
Merge branch 'handles-client-output-buffer-limit' of github.com:HeartSaVioR/jedis into HeartSaVioR-handles-client-output-buffer-limit
Change string size to make test fail faster
add SCAN, HSCAN, SSCAN and ZSCAN
Merge pull request #489 from xetorthio/scan_commands

add SCAN, HSCAN, SSCAN and ZSCAN
make pubsub test fast
make control command tests fast
make list command tests fast
make object command tests fast
make list command tests even faster
speed up JedisSentinelTest
make JedisTest fast
make JedisSentinelPool fast
Merge pull request #490 from xetorthio/speedup_tests

Speedup tests