Deal with different precisions in 1w temperatures

DS1822 and DS18B20 provide an additional decimal digit of precision,
which used to be discarded. This change introduces a ow_temp_t type to
store the number of decimal digits at no additional memory usage.
uint16_t? What about the sign for negative temperatures?