lib: API and Data break: fixed Timezone record class
The Timezone record class got too complex, trying to split a simple
minute offset into 3 different variables. The class's code then made
different assumptions on the OffsetFraction member variable, causing
incorrect data to be displayed.
This commit simplifies the Timezone class, and adds some helper functions
to split the offset into multiple units if necessary. It also adds some
much-needed documentation on the meaning of the variables.
Where the meaning changed, the variable names changed as well, to cause
a compilation error for applications that rely on this code.