CFNetwork should be more magical

In this bug, we have a work around.

https://bugzilla.xamarin.com/show_bug.cgi?id=34471

But ideally, we should actually spin up a thread, so you don't have to think about this. Also, we duplicate all of this between iOS and mac, but different. We should look at maybe unifying those?


Reference: https://bugzilla.xamarin.com/show_bug.cgi?id=34537