Fix Implicitly Unwrapped nil value error in `XcodeSpec` using Optional NSString

<i>Related to #206</i>
<i>Refactor of #209</i>

When running `otool` in `XcodeSpec`, [the `value` of the `first` of the stream is implicitly unwrapped](https://github.com/Carthage/Carthage/blob/9368c474f195c91ac7d4b5c1ee3150bacec67f36/CarthageKitTests/XcodeSpec.swift#L74-77).

But, if `otool` hits an error, then `first()` returns a `.Failure`, whose `value()` returns `nil`, leading to `fatal error: unexpectedly found nil while unwrapping an Optional value`.
We could, it would certainly be a much smaller diff. But, it just seems disingenuous to me to not examine the actual result, but rather an empty string of our own volition.

The explicit types ([line 74](https://github.com/Carthage/Carthage/pull/211/files#diff-62e2145e544df11b64e87aebf67deb56R74) and [line 79](https://github.com/Carthage/Carthage/pull/211/files#diff-62e2145e544df11b64e87aebf67deb56R79)) aren't necessary, but I felt they added clarity.

More confusing than that is that [`output` in the else block](https://github.com/Carthage/Carthage/pull/211/files#diff-62e2145e544df11b64e87aebf67deb56R84) refers to the [`NSString?` from line 74](https://github.com/Carthage/Carthage/pull/211/files#diff-62e2145e544df11b64e87aebf67deb56R74), while the [`output`s in lines 80-82](https://github.com/Carthage/Carthage/pull/211/files#diff-62e2145e544df11b64e87aebf67deb56R80) refers to the [unwrapped `output` from line 74](https://github.com/Carthage/Carthage/pull/211/files#diff-62e2145e544df11b64e87aebf67deb56R74). I considered coding `if let _output: String = output` for distinction, maybe the added clarity is beneficial?

Moreover, this doesn't address the fact that no .Failure from `otool` gets examined or output.

I don't feel dogmatic about any of these decisions, but, at least as a first step, I feel this pull is safe, correct, and relatively clear.