In https://llvm.org/r336132, I broke <string> when compiled with GCC in -std=c++03
This fixes part of this, by wrapping the template constraints in an #ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES block - since these ones are only necessary when using template deduction guides (implicit or explicit)
I'm a bit concerned about whether or not this moves stuff into/out of the dylib (since we instantiate basic_string there)