Improved software temperature compensation during sleep

This commit only affects clocks with software temperature compensation
enabled, which requires the addition of a DS18B20 temperature sensor.

The temperature sensor requires three volts, but system voltage can
fall below that during sleep.  Thus, software temperature compensation
cannot be accurately performed during sleep.

After waking from sleep, the clock will measure temperature and
perform a time correction under the assumption that the the clock was
at the measured temperature for the entire sleep period.  This
behavior is not adequate for accurate temperature compensation during
sleep, but should be better than doing no compensation at all.

Before this commit, the clock would only perform the better-than-
nothing correction above for a sleep duration of up to a few days.
The code now correctly handles much longer sleep durations.
Additional drift correction during sleep (thanks Russell!)

On the Adafruit forums, Russell Walker (Russell27) noticed that the
Ice Tube Clock oscillator runs a bit slower during sleep due to lower
system voltage while on battery power.  An additional sleep drift
correction value may now be defined in config.h to compensate.

See Russell's post for more information:

  http://forums.adafruit.com/viewtopic.php?f=41&p=272605#p272605