Fix issue #22414729: Checkin start clock time is different from hsitory reset time

There was a mistake in the code that was supposed to recover from the
initial time on a new device being bad until the real time ultimately
gets set, which was causing us to update the start clock time every time
there was a time change (instead of just when the original start time
appears bad).

Rework all of this, so we now count the start time as bad if it is more
than one year before the current time, only modifying it in that case.
Also when modifying it, adjust the time we set it to take in to account
how much realtime has actually elapsed so far in the battery stats.

Change-Id: If74bd711d9b7618c8f6148a9935c452aaaa7e257
1 file changed