Turn on and fix signedness conversion warning

This enabled the clang compiler warning for `CLANG_WARN_IMPLICIT_SIGN_CONVERSION` in the Xcode build settings, and fixes the resulting compile warnings.

I'm always in two minds about whether to turn on this warning, since Apple's own code for UITableView delegates, NSIndexPath and NSArray don't match up nicely. However, with all the 64-bit upgrades, I'm leaning towards being defensive with my compile warnings - so this enables them.

I don't love the NSInteger/NSUInteger casts, but can't see another way around it. The `[NSNumber unsignedIntegerValue]` seems elegant though.