Subsecond time-setting accuracy

When a user sets the time, the fractional seconds are reset to zero.
For example, setting the clock to "16 30 00" now sets the clock to
16:30:00.00.  This change is meant to make it possible to manually
synchronize the Ice Tube Clock with an accurate time source with
subsecond accuracy.

Although this seems like a trivial modification, tracking fractional
seconds in the drift correction code is fraught with race conditions
and asynchronous timer management subtleties.  I think I've done
everything correctly, but time will tell.  ;-)

Another change is that the GPS code only synchronizes time after the
clock time has drifted by more than one full second.  Before, there
were (quite rare) times when the new GPS time was received at
approximately the same time as the clock moves to the next second.  At
those times, the GPS time synchronization and clock tick happen in
nondeterministic order.  Thus, some clock seconds lasted two seconds
and others are skipped.  So now the clock time is allowed to drift by
a full second before being GPS-corrected, and that fixes the problem.

Finally, in the previous commit, I accidently committed a version of
config.h with settings tailored my personal preferences.  In this
commit I'm reverting that change.