GIO: Implement part of RFC 8305 (Happy Eyeballs v2)
This is a partial implementation of RFC 8305. The goal of the RFC and this PR is to in a more timely manner handle mixed ipv6/ipv4 configurations, especially when one may not function.
The GSocketClient work has admittedly not been as thoroughly tested compared to the GResolver work since it is simply a bit harder of an API to test (we need to make fake sockets that are slower to connect) so any advice there would be appreciated.
Fixes #1555 (closed)