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.
Should be 
debug_printf("temperature: %d.%d\n", HI8(temp.val), LO8(temp.val) > 0 ? 5 : 0);