adjusted parse-/printIso8601 to accept an arbitrary number of fractional seconds

At first, I believed that iso8601 only accepted milliseconds precision, but that seems to actually be undefined, and we are using microsecond precision at many places. This change thus enables the parsing and the printing of fractions of a second at any precision.