Fix basic_string<T> methods for non-default T
Fix basic_string<T> methods for non-default T

It doesn't help to template around T if we're accidentally forcing
T==char later in the templated functions.

dschwen/libmesh,jwpeterson/libmesh,libMesh/libmesh,capitalaslash/libmesh,dschwen/libmesh,libMesh/libmesh,roystgnr/libmesh,BalticPinguin/libmesh,BalticPinguin/libmesh,capitalaslash/libmesh,dschwen/libmesh,BalticPinguin/libmesh,libMesh/libmesh,roystgnr/libmesh,jwpeterson/libmesh,BalticPinguin/libmesh,roystgnr/libmesh,roystgnr/libmesh,libMesh/libmesh,capitalaslash/libmesh,capitalaslash/libmesh,capitalaslash/libmesh,dschwen/libmesh,capitalaslash/libmesh,BalticPinguin/libmesh,dschwen/libmesh,libMesh/libmesh,jwpeterson/libmesh,capitalaslash/libmesh,dschwen/libmesh,jwpeterson/libmesh,jwpeterson/libmesh,libMesh/libmesh,BalticPinguin/libmesh,roystgnr/libmesh,BalticPinguin/libmesh,jwpeterson/libmesh,roystgnr/libmesh,libMesh/libmesh,dschwen/libmesh,libMesh/libmesh,roystgnr/libmesh,BalticPinguin/libmesh,jwpeterson/libmesh,capitalaslash/libmesh,roystgnr/libmesh,dschwen/libmesh,jwpeterson/libmesh