Objective-C support

This is based off the `sf-compile-sh` branch, so this looks like a lot more commits than there actually are. Just look at the bottom, I'll rebase when the sf-compile-sh branch updates.

The specs currently fail on my machine, because it can't find the workspace and stuff it needs (the specs actually run `xcodebuild`, it looks like). I don't have time to find out why now, but I wanted to put this here for feedback.