Couple of changes in APIClient

- include completionBlock as property on APIRequest
- requests are made serially (one completes before next is sent out)