Faster version of liberty_float - gives a 25% to 50% speedup
This also fixes a bug in liberty_float for numbers with a magnitute
between 9 and 15.
Previously:
>>> liberty_float(1e15)
'1000000000000000'
>>> liberty_float(1e10)
'10000000000.'
>>> liberty_float(1e9)
'1000000000.0'
>>> liberty_float(1e16)
'1.000000e+16'
Now:
>>> liberty_float(1e15)
'1.000000e+15'
>>> liberty_float(1e10)
'1.000000e+10'
>>> liberty_float(1e9)
'1000000000.0'
>>> liberty_float(1e16)
'1.000000e+16'