improve new code selecting connection target by bindaddr family
the code added in
6ecc398072abf792088af2c90fc7252c05d7c94a was modified to
- better match the rest of codestyle
- don't print gratuitous warning if no matching addrinfo record was found
- always select outgoing socket type according to first addrinfo result,
like in the past, rather than enforcing the af of bindaddr even if no
matching record exists.
- only call bind() if the selected addrinfo record matches the bind addr
as a sideeffect of the latter, bind() will no longer be called when there's
no DNS record matching the address family of the bindaddr, which means the
connection will use the system default route for the target.
whether this aligns with user's expectations remain to be seen, but imo
it's preferable to make the connection work rather than enforcing that no
packet goes out on another interface than the one specified via bind addr.