Fixing edge-case overflows when working with Duration
Since version 0.6.0 the library uses smallest possible time precision (NANOS) for delays and timeouts.
In edge cases overflow was possible when library converts/re-calculates durations with NANOS precision.
This release mainly address this issue.