Fix most string.conversions tests.

musl calls `shlim(f, 0)` in error situations (like the comment digit
addd in the .h file describes), and libc++ relies on wcstod() (etc)
returning the same pointer for both parameters to detect error
conditions.  So shlim() needs to change the file pointer.

(One failure remains with this patch.)

Change-Id: I642f8a36fc404ce19e0017e95658c5ce3fa491cf