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 is fine with `42` instead of `42 as Int?` but I wanted to ensure that the type demonstrates that it could be `nil` to declare the intent of the test.