The ISO 8601 buffer for durations was sized for `SignedDuration::MIN`,
but the longest output is a negative duration with 16 digits of hours
and two digit minutes and seconds, e.g.,
`-PT2562047788015214H59M59.999999999S`, which is 36 bytes.
Similarly, the friendly format buffer for `std::time::Duration` didn't
account for the `+` prefix written by `Direction::ForceSign`.
Fixes#654