Round microseconds when parsing ISO 8601 date-time string
The string is converted into timeval structure which has microseonds
resolution. Currently, the server does not use higher resolution, but
the ISO 8601 has virtually unlimited precision.
Therefore this patch implements rounding so that submicroseconds are
taken into account too. The rounding algorithm is round half up (or
round half away from zero in case of negative dates, but these are not
supported properly either.), i.e. 0.5 µs gets rounded to 1 µs.