Cache fix for DS18B20 (and friends with resolution support)
By default, 12 bit resolution is used when reading "temperature".
DS18B20 powers up with 12 bit resolution configured.
Previous code would find no cached value, read scratchpad and notice it
was correct, then continue on with the temperature reading.
If 12bit resolution was used all the time, no value would ever be
written to the cache, and we would read the scratchpad twice for every
single temperature reading.
Bug found when noticing that reading a simultaneously converted
18S20 (which has no resolution support) took almost half the time
compared to 18B20s.
(How do you want pull requests/patches now when GIT is used?)