Only dispatch_after when we have to, and use the current GCD queue

I know `dispatch_get_current_queue()` is deprecated, but I don't care—I get the feeling that `<NSURLProtocolClient>` expects to be used serially.

/cc @keithduncan @mdiep @joshaber