ConnectCallback needs to call EndConnect

Socket.ConnectAsync uses BeginConnect, and ends here in
ConnectCallback. It needs to call EndConnect so any error can be
propagated up.

See Xamarin bug: https://bugzilla.xamarin.com/show_bug.cgi?id=21017
Merge pull request #1142 from edbprx/master

ConnectCallback needs to call EndConnect