Correctly parse remote address

Use net.SplitHostPort to extract the host from (*net.Request).RemoteAddr,
rather than the naive string split, which fails on IPV6 addresses.