MINOR: time: add timeofday_as_iso_us() to return instant time as ISO

We often need ISO time + microseconds in traces and ring buffers, thus
function does this by calling gettimeofday() and keeping a cached value
of the part representing the tv_sec value, and only rewrites the microsecond
part. The cache is per-thread so it's lockless and safe to use as-is.
Some tests already show that it's easy to see 3-4 events in a single
microsecond, thus it's likely that the nanosecond version will have to
be implemented as well. But certain comments on the net suggest that
some parsers are having trouble beyond microsecond, thus for now let's
stick to the microsecond only.
diff --git a/include/common/time.h b/include/common/time.h
index 2633b1c..d6bbecb 100644
--- a/include/common/time.h
+++ b/include/common/time.h
@@ -103,6 +103,8 @@
  */
 REGPRM2 void tv_update_date(int max_wait, int interrupted);
 
+char *timeofday_as_iso_us(int pad);
+
 /*
  * sets a struct timeval to its highest value so that it can never happen
  * note that only tv_usec is necessary to detect it since a tv_usec > 999999