Follow up changes on "pubsub numsub" output

* String, String to String, Long
* We're avoiding to break backward compatibility
** convert Long to String so that return type is same to old type
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
Completing interface
Implements #701, add close() to JedisCluster
Changed weights from ints to doubles
Adopted test to use decimal weight values
Restored old method for int weights for backwards compatibility
Closes #656. Add a getNumActive() method to JedisPool to provide access to the current state of the internal pool.
Closes #656. Added 2 more asserts to ensure the count decrements correctly.
Renew slots when MOVED occured during request to Cluster

* It's suggested by http://redis.io/topics/cluster-spec
** antirez/redis-rb-cluster implementation does it, too
* Since Redis 3.0-beta 7 introduces CLUSTER SLOTS, it becomes easier
* FIXME: It's fully synchronized, so it hurts performance (somewhat poor implementation)
** We can try Reader / Writer strategy to make lock waiting make shorter
Replace synchronized keyword lock to ReaderWriterLock
Re-format source to respect Jedis convention
Race condition when switching masters in JedisSentinelPool

Instead of recreating GenericObjectPool, we change the
underlying factory destination host. When returning
objects to the pool we make sure they are pointing at
the correct master.
Add an extra sentinel server to tests

Adds an extra sentinel server monitoring the mymaster failover cluster,
makes the tests more interesting.
Fix race condition in JedisSentinelPoolTest

The test was issuing the failover command and only afterwards
connecting to the pub-sub channel to receive failover notifications.
If the failover occurred fast enought the pub-sub listener would never
get the notification.

Run the failover command on a separate Jedis connection after we're
absolutely sure that we're subscribed to the pub-sub channel.
Add check that JedisSentinelPool accepts closing connections before and after failover
Proper master failover detection depends on testOnBorrow
Let the user choose whether to testOnBorrow or testOnReturn

Force testOnBorrow if neither is specified.
Properly close jedis connection in case of exceptions
Add second jedis connection to waitForNewPromotedMaster call