Added an optional callbackQueue property

For the situation when callbacks shouldn't be called on the main queue, it's great to be able to specify that they should be executed elsewhere. This PR does this.

The API itself doesn't change, and users that use the library as they already do will not see **any** change -- that is, their callbacks will still be executed on the main thread. What *is* new is that a user can now do:

```objective-c
dispatch_queue_t bgq = dispatch_queue_create("my_custom_queue", DISPATCH_QUEUE_CONCURRENT);
[Foursquare2 setCallbackQueue: bgq];
```

With my PR, `[Foursquare2 sharedInstance]` and every `FSOperation` get a `callbackQueue` property that are by default **equal** to what is returned by `dispatch_get_main_queue()`, but that they can set to another queue using the above call.

So, basically, this is a completely backward-compatible improvement.