Fixes problem with many optional decimals

When using a format with many optional decimals, insignificant trailing
digits could be added to the number:
Ex:
numeral(3162.63).format('0.0[000000000000]') = "3162.6300000000001"

Numerals internal toFixed method now never returns trailing decimal
points.

Also fixed bug where an extra optional decimal was being added when
using a specified abbreviation.