[UDP] Don't fail on hostnames

Normally we'd just let Socket handle the DNS lookup, but since we're
setting up a socket for both v4 and v6 and need to choose one, we'll just
do it ourselves and supplant an IPEndPoint so the existing mechanisms are
none-the-wiser.
[Tests] Add more Target tests