Replace many occurrences of sockaddr_in by a new union, iaddr.
Everywhere that fills in an address has been modified to look into the
subfields of iaddr. Also, replace references to the size of a
sockaddr_in by the new function iaddr_socklen.
But there is not yet any support for a union iaddr to contain anything
other than a sockaddr_in. This will be added gradually in forthcoming
patches, starting at consumers and working back.
Additionally, a couple of places that specified a port and address as
a uint16_t and uint32_t have been converted.
We have changed only transport addresses - that is, addresses on the
public network. VPN addresses remain IPv4 only.
We provide a few helper functions for manipulating union iaddr, such
as iaddr_to_string (which replaces saddr_to_string).
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>