Make sure that requests always are scheduled on main

Fixes #10 #11 #12 

Before: If requests were started on another thread then main, that thread were likely to exit before any of the delegate methods gets called. No delegate callback => no completion block call.

With this fix: All requests (including those from background threads) will be scheduled to run on the main run loop. So you'll get the callbacks.
This should be OK to run on main since the requests isn't blocking av isn't doing anything heavy (that was what we had to do before anyways for it to work).