address: more thorough address size check and fix byte order of port
Deprecate set_ipv6 functions, add set_addr replacement

The set_ipv6 do not allow setting the IPv6 scope, so deprecate those
functions and instead recommend using the new set_addr functions which
take a sockaddr directly.
client: bind using the peer address family

This allows working on network stacks with no IPv6 support, and
apparently fixes a bug on iOS where you can't mix bind(AF_INET6) and
sendto(AF_INET).