String wrapper to convert between QString and lg2

Introducing `Git::Internal::String` wrapper class to simplify conversion from and to QString.

* Should it be exported to the public interface? If so, the GitWrap API should change to take this class instead of a QString.
Well, good point. Though this case should be rare, it is likely to happen. I was thinking about something like this

~~~
const char* String::convert()
{
  if ( mConvertedStr.isEmpty() )
  {
    mConvertedStr = toArray();
  }

  return mConvertedStr.constData();
}
~~~

Would that be ok? The conversion only is performed once (could event be in the c'tor then). The problem is the `operator char*`, which I didn't want to have originally - it is used currently only in one place in GitWrap (think it was the DiffList class??). Thus, it would become a *constant String object*. Maybe this is the best way doing it.