Make ustring implementation safe for libc++.

Don't do the trick where we mess with the std::string internals if it's
using libc++'s headers. Eventually, we'll go back and fix this to do
something even more efficient in that case.