Constructs a UtcOffset from hours, minutes, and seconds components.
All components must have the same sign.
The bounds are checked: it is invalid to pass something other than
±[0; 59] as the number of seconds or minutes. For example,
UtcOffset(hours = 3, minutes = 61) is invalid.
However, the non-null component of the highest order can exceed these bounds, for example,
UtcOffset(minutes = 241) is valid.