Restore network logic that didn't use ReactiveCocoa

I think I made a mistake using ReactiveCocoa before, so I'm seeing about removing it and mostly restoring the previous syncing logic.

If you agree, I can remove it as a dependency entirely without much trouble in another PR.