Remove JSONKit, some block tweaking

@joe-goullaud Just cleaning up a few minor things

- Remove JSONKit. Yay!
- Block array access should be synchronized - in edge case it might lead to mutation while enumerating
- Add support for multiple completion blocks.
   - Could be useful for large or non-dynamic requests that need to be called from multiple places.
   - Imagine structuring a manager so that a request for data with a completion merely tacks on the completion block if an identical request is still pending completion.

It may also be worth exploring trying to add completion blocks for a specific "key" so that they can be removed, if desired.