Glen:  This patch gets the string conversion functions working on Windows.  It also refactors repetitive code in string.cpp do greatly reduce the repetitiveness, increasing maintainability.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@182026 91177308-0d34-0410-b5e6-96231b3b80d8