Revert "Simplified SocketUtils.ConnectAsync()"
Revert "Simplified SocketUtils.ConnectAsync()"

This reverts commit f26af77c67a14e57ab8628b238acce7c8728a8dc.

Unfortunately, Socket.Connect(string host, int port) seems to only
attempt to make a connection on the very first IP address returned by a
DNS lookup instead of cycling through them all until it finds one that
it can successfully connect to (like MailKit's logic did).

Fixes a regression in issue #545

jstedfast/MailKit