multilog: only "newline" what wasn't already overwritten
multilog: Move a couple of hot globals into the doit function
byte*: Wrap standard C library functions, they're faster
str.h: Remove unused prototypes
buffer: Add a buffer_copyline function, to copy everything up to a specified character
tai64n: Use buffer_copyline to speed up data copying

Cuts time spent in the program by half.
tai64nlocal: Use buffer_copyline to copy out remainder of line

This cuts CPU time used by tai64nlocal by 2-4x depending on line length
multilog: Break timestamp generation out of line reading loop
buffer: Add buffer_gets line reading function
multilog: Read/write whole lines at a time
tai64nlocal: Format all the numbers, then output

This further improves the performance of tai64nlocal by a bit
Add CHANGES note about optimizations
str: Use standard library replacements for str_diff and str_len

Replacing str_chr and str_start efficiently is harder due to the
differing calling conventions -- no easy way to do it without scanning
the string twice for the failure case, in which case there is no gain.