Change all uses of string_of_float to float_repres.

float_repres taken from OCaml source typing/oprint.ml. This is a
better implementation of string_of_float which does seem to be used
in the very latest versions of OCaml to implement string_of_float also
which does not lose precision so that float_of_string (float_repres x)
is always x for any valid float x.
Merge pull request #2209 from deltaluca/dev_float_fixes

Change all uses of string_of_float to float_repres.