Send ASKING command when redis-cluster returns a -ASK response.

We must always execute ASKING on the connection identified by the -ASK
response before executing the actual command because not doing so will
break the cluster specifications while redis-cluster is performing a
resharding operation.
Various fixes and improvements to redis-cluster connection backend.

List of changes:

  - The cluster connection can be initialized with a partial list of
    nodes, the full slots map will be fetched from Redis itself using
    the CLUSTER NODES command.
  - The slots map can be optionally retrieved from Redis if the server
    returns a -MOVE response, otherwise only the interested slot will
    be permanently reassigned to the new target node.
  - $cluster->connect() connects to a random connection in the pool
    instead of forcing the connect operation on all the connections.
Rewrite phpdoc comments for the redis-cluster connection backend.
Apply common parameters to connections created on the fly in cluster.

These parameters are applied only to connections being created on the
fly when not part of the current pool. This condition usually happens
upon -MOVE or -ASK responses returned by Redis to redirect client to
different nodes.
Use a more appropriate exception.
Merge branch 'v0.9/redis-cluster-fix'

Conflicts:
	lib/Predis/Connection/RedisCluster.php