Ok, so this was a fairly large switch. I decided the "right" thing to
do was to put the smarts for formatting numbers in ntoa() that way you
could format nicely to a buffer or to the serial line. This of course
greatly simplified uart_putnum and made ntoa much more complicated.