Handle host discovery in clusters with IPv6 addresses

Cassandra doesn't wrap IPv6 addresses in brackets when querying system.peers, and the old method of checking for a port appended to the address didn't account for the extra colons in IPv6 addresses.
Whilst this code looks like it might work, it also seems like it could quite easily become unmaintainable and a source of subtle bugs. I'd prefer it not to creating slices with an inlined library call (which FTR is duplicated on the following line).