Refactor iOS SDK to be more like Android

Still debugging this one.

Need to test Get file (pic) and delete pic.

For some reason even when the tests fail, they get marked as passed.

Debugging an ugly issue in Checkin/PATCH and DELETE where userAccessToken for some reason is always nil on the second chained request and so we send a device token and get a failure. I have no idea why this happens.

Overall with this method, I would suggest perhaps skipping all the conditionals around `clazz` and `result`. I would say try to convert the result into the type they requested. If they can't, it's an error condition.

I'm thinking specifically in the case then they ask for a `[Foo class]` but they instead get back whatever is in `result` because the `result` wasn't an `NSDictionary` that could be converted. Know what I mean?