Ran "Edit -> Refactor -> Convert to Modern Objective-C Syntax"

- Reverted friendly fire on ProtocolBuffers
- Did not do ANY other changes in the first commit (including changes to make more refactorings succeed)
- The second commit does the warning cases
- dictionaryWithObject -> @{key: val}
- objectAtIndex -> a[i]
- numberWithBool/Int/etc -> @1, @(val)

I checked over all the refactorings and they seemed fine, although it's really easy to miss simple things with so many tiny changes.

This is likely to conflict with other pull requests. The easiest way to resolve a merge conflict, if it comes up, is to cancel the merge and either redo the refactoring before merging or reset the refactoring then merge then re-refactor.