Fix compiling on FreeBSD.  Resolves issue #112.
Support for IPv6 servers

When a host resolves to an IPv6 address, net.Dial to "addr:port" fails
with "too many colons in address" as the address needs to be enclosed in
square brackets. Use net.JoinHostPort to join them correctly.

Additionally, support square brackets (although not strictly necessary)
in the host specification.
Merge branch 'ipv6hosts' into driskell_merge_pr164 (#143)
Merge branch 'master_atwardowski' into driskell_merge_pr164 - Fix compiling on FreeBSD. Resolves issue #112. #132