Describe the bug
Kotlin's unsigned types are not developer friendly with Java.  See https://youtrack.jetbrains.com/issue/KT-46144.  At least the presigner code presents duration as an unsigned long.  There may be other places where we expose unsigned types.
Expected Behavior
No unsigned types are used in public APIs that customers may wish to use from Java.
Current Behavior
Presigner uses unsigned longs in public API.