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.
It's 15 bits now to cover the full range of possible values. I was off-by-one when calculating the number of bits needed...