Fix redis-trib.rb IP:Port disassembly for IPv6

IP format is now any of:
  - 127.0.0.1:6379
  - ::1:6379
Parse cluster state file in IPv6 compatible way

We need to pick the port based on the _last_ colon, not the first one.
Networking: add more outbound IP binding fixes

Same as the original bind fixes (we just missed these the
first time around).

This helps Redis not automatically send
connections from the first IP on an interface if we are bound
to a specific IP address (e.g. with multiple IP aliases on one
interface, you want to send from _your_ IP, not from the first IP
on the interface).
Merge pull request #2110 from mattsta/more-outbound-bind-fixes

Networking: add more outbound IP binding fixes
Merge pull request #2096 from mattsta/cluster-ipv6

Enable Cluster IPv6 Support
Disconnect timedout slave: regression introduced with diskless repl.
Diskless SYNC: fix RDB EOF detection.

RDB EOF detection was relying on the final part of the RDB transfer to
be a magic 40 bytes EOF marker. However as the slave is put online
immediately, and because of sockets timeouts, the replication stream is
actually contiguous with the RDB file.

This means that to detect the EOF correctly we should either:

1) Scan all the stream searching for the mark. Sucks CPU-wise.
2) Start to send the replication stream only after an acknowledge.
3) Implement a proper chunked encoding.

For now solution "2" was picked, so the master does not start to send
ASAP the stream of commands in the case of diskless replication. We wait
for the first REPLCONF ACK command from the slave, that certifies us
that the slave correctly loaded the RDB file and is ready to get more
data.
THP detection / reporting functions added.
Check THP support at startup and warn about it.
THP detection for LATENCY DOCTOR.