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