make time-add handle float-pt seconds
use localtime_r() rather than localtime()

localtime() not thread-safe
make time-diff return float-pt seconds