Fix empty host string when a cluster launched with one single instance

If a cluster is launched on only 1 redis instance, the result of `cluster slots` command may look like

    127.0.0.1:7000> cluster slots
    1) 1) (integer) 0
       2) (integer) 16383
       3) 1) ""
          2) (integer) 7000

The host property is set as an empty string, and this would finally make `socket.getaddrinfo` fail.
A newly started redis-server is in a state of

    cluster_state:fail
    cluster_slots_assigned:0

You could connect the server via redis-cli to check it. Then a command

    cluster addslots 0 1 2 ... 16383

will turn it up and be ready to read/write. (Of course it's not possible to manually type a command of 16k+ args, so it's a good idea to do it as L282.) But unfortunately the server response "ok" to the client immediately after receiving the command, and then takes 4-6 seconds to change the state. So we should wait for it.

FMI, it's the `redis-trib.rb` that requires at least 3 nodes for a cluster. I've tested a cluster with 1 or 2 nodes, or even 1 node at the beginning and adding the second to the cluster while there are hundreds of concurrent requests. They work fine.