Fix a bug with libc++'s stof.

The c++11 standard says that stof should call strtod / wcstod, but
libc++ was calling strtof / wcstof.  Suprisingly, the standard seems to
demand that converting a string that doesn't fit in a float but in a
double with stof() should return INFINITY but shouldn't throw
out_of_range.

This happens to fix stof.pass.cpp.  (It's currently failing because
musl's strtof doesn't set errno to ERANGE on HUGE_VALF results.  This
seems to be technically correct behavior, but they're considering maybe
changing that.)

Change-Id: Ia4c534ae27fe175dc7ba92f45a27a2306cc9ed49