Convenience for making `Result` from `NSErrorPointer` API

Cocoa API commonly uses `BOOL` or object type returns coupled with an `NSError **` parameter where we would like to use `Result` instead. This provides a pair of conveniences to produce `Result` in those circumstances.

This also brings in a deployment target for iOS.
This one feels like it should be returning `NSError?` instead but then it would be inverted in sense. You can recover that via `.error()` so I think it should probably stay.