GOFormat: improve rendering of general format.

When width==-1, the general format should render values as short as
possible.  That didn't always work right.  For example, for 75776.21
we could get 75776.20000000001 [total of 16 digits]