make host+port more explicit + ipv6 support

- document the behavior for node host/port initialization
- throw exception if settings make no sense
- fixes announcement for nodes without host/port defaults
- makes code clearer as to when host vs. host+port are used
http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/net/HostAndPort.html

Would that work at all?