Fixed UTF8Str::ndup, optimized UTF8Str::dup
Optimize Clone for UTF8Str

We know the length of the string, no need to let strdup calculate
it the second time.
Erased methods dup and ndup from UTF8Str

These were created for an earlier attempt at obtaining
error message strings from Error, and are otherwise
unused. The bindings should only wrap strings allocated by
GLib and never attempt to allocate C strings on their own.
Where an owned copy is required, it'd rather be a String.
The client code should not be encouraged to unsafely produce
UTF8Str either.