Handle multiple string encodings in a GTDiffLine.

Otherwise we’ll have nil content on the resulting line.
Also line->content is not nil terminated, so we should load it into
NSData first, other -initWithData will return nil if the length of
line->content is longer than line->content_len.
return early when we're already UTF8.
Just return the string that we can decode.
Merge pull request #305 from libgit2/handle-string-encodings

Handle multiple string encodings in a GTDiffLine.